本文来源吾爱破解论坛
刚学习python没多久,请多多指教。
用了四个模块,具体看代码4-7行,都是常用模块!
内容是爬取https://www.mzitu.com/ 的妹子图片
只写了一组套图的爬取
有两行代码需要自行填写,分别是:
第25行的url 需要自行填写组套图的网址;就是自己点开一个喜欢的图片的网址,例如:https://www.mzitu.com/215383
第60行的文件路径名 我是放在了桌面的img文件夹,img文件夹需要自行创建
好了,不废话了,下面放上代码
[Python] 纯文本查看 复制代码
#https://www.mzitu.com/ 妹子图 # -*- coding: UTF-8 -*- import requests from lxml import etree import time import random UserAgent=['Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1', 'Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)', 'Mozilla/5.0 (Windows NT 10.0; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' ] Usera=random.choice(UserAgent) #随机一个UserAgent浏览器标识 #构造请求头信息,经测试mzitu网站光构造一个UserAgent不行 headers={'User-Agent':Usera, 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 'Accept-Encoding': 'gzip', "Referer": "https://www.mzitu.com/all"} url="https://www.mzitu.com/215383" #具体网址需要自己填写 #套图一共多少页,读取endPage页码数字 data=requests.get(url,headers=headers).text html=etree.HTML(data) result=html.xpath('//div//div[@class="pagenavi"]/a/span') endPage=result[-2].text #最后一页页码,str格式 class Spider(object): def __init__(self): self.url=url self.endPage=int(endPage) self.header=headers self.fileName=1 #构造url:找到一共多少页,读取endPage页码数字 def mztSpider(self): for page in range(1,self.endPage+1): murl=url+"/"+str(page) self.loadImages(murl) #通过每一页详情页,顺便获得图片的链接 def loadImages(self,link): data=requests.get(link,headers=self.header).text html=etree.HTML(data) links=html.xpath('//div//div[@class="main-image"]/p/a//img/@src') time.sleep(0.1) #经测试如果不用时间间隔,容易中间断掉 for imageslink in links: self.writeImages(imageslink) #通过图片所在链接,爬取图片并保存到本地 def writeImages(self,imageslink): print("正在存储图片:",self.fileName,"...") image=requests.get(imageslink,headers=self.header).content #保存图片到本地 file=open(r"C:\Users\XD\Desktop\img\\"+str(self.fileName)+".jpg","wb") #img是文件夹名字,具体可以自行设置 file.write(image) file.close() self.fileName+=1 if __name__ == '__main__': print("该组图共有"+endPage+"张图片") start=Spider() start.mztSpider() print("下载完成!")
本帖被以下淘专辑推荐: · 自用|主题: 202, 订阅: 8
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 获取淘宝时间服务器时间
- 下一篇: python爬取淘宝商品信息