Python爬虫----爬取妹子图片

近来无事,或许是独自无聊,便产生以下程序

我们的目的不是搞事,是合理利用资源

各位,虎躯重要,合理食用


环境:python 3.6

第三方库

requests BeautifulSoup4

推荐使用 Anaconda 集成包

以下是全部代码

#coding=utf-8
# 作者:听风
import requests
from bs4 import BeautifulSoup

def imgurl(url):
    res = requests.get(url)
    soup = BeautifulSoup(res.text, 'html.parser')
    # 获取总页数
    page = int(soup.select('.pagenavi span')[-2].text)
    # 获取图片链接
    a = soup.select('.main-image a')[0]
    src = a.select('img')[0].get('src')
    meiziid = src[-9:-6]
    print('开始下载妹子:',format(meiziid))
    for i in range(1, page+1):
        i = '%02d' % i
        img = src.replace('01.jpg', str(i)+'.jpg')
        headers = {
            'User-Agent':'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)',
            'Referer':'http://www.mzitu.com'
        }
        #此请求头破解防盗链
        response = requests.get(img,headers=headers)
        f = open('E:\\download\\meizi\\'+meiziid+'%s.jpg' % i, 'wb')
        f.write(response.content)
        f.close()
        print( '===> %s 完成 ' % (meiziid + i))
    print('妹子 %s 下载好了,请享用!\n' % meiziid)

def imgpage(page=''):
    res = requests.get('http://www.mzitu.com/page/' + page)
    soup = BeautifulSoup(res.text, 'html.parser')
    href = soup.select('#pins a')
    # 链接去重
    list = set([i.get('href') for i in href])
    # 遍历下载
    [imgurl(i) for i in list]

result = input('你要下载哪一页的妹子:')
imgpage(result)

# python version : 3.6

如果程序报错,请试图用浏览器访问对应的页码,确定能访问时再运行该程序

此程序为单线程,个人不建议用使用多线程,我们是为了学习,不是搞崩人家的服务器

多线程请参考 http://blog.csdn.net/baidu_35085676/article/details/68958267

更详细的教程,看上面的链接,如果有需要,我再写

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值