澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全

您的位置:主页 > 文章 >
文章

简单python爬虫编写

2020-05-15作者:睡觉来源:次阅读

本文只适合对python感兴趣的初学者(因为我也是),只是单纯的小分享。代码不严谨的地方请见谅

 

澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 疫情期间在家闲来无事,每天打游戏荒废了一段时间。我觉得自己不能在这么颓废下去,就立马起身写了一点python代码(本人只是python新手)。

 

找来找去突然找到一个不错的网站(你懂得),看见上面的照片于是起来自己写了一个小程序能够自动爬取这个网站照片的小程序来练练手

 

上网站:

https://www.meizitu.com/a/xinggan_2_1.html

 

简单python爬虫编写

 

澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 画面过于美好先打上一波马赛克,马赛克之前的模样。

自己想象一下

 

第一打开网站 我们按f12查看源代码发现,这里的图片的xpath只有缩略图,但是他的a标签里的href的网址有他大照片的地址,我们点进去查看后,发现img里面有src。

 

这里  如果只是单纯的爬取他的src,那我们爬取的就只有这一个页面,如果还要在爬取其他页面还要在修改地址很麻烦

 

澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 所以第一步我们用xpath先来定位缩略图里面a标签里面的href,将他生成一个列表,同时我们发现所有缩略图的xpath都是有规律的所以这样无疑减少了很多难度。

 

简单python爬虫编写

 

澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 其二打开缩略图,发现图片的xpath也是很好获取

 

好了上源码

 

澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 import requests


from lxml import etree


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 import time


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 class sprider(object):


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全     def __init__(self):


        self.header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全     def url(self):


        url = 'https://www.meizitu.com/a/xinggan_2_1.html'


        response = requests.get(url,headers=self.header)


        selector = etree.HTML(response.content)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全         for i in range(1,31):


            url2 = selector.xpath('//*[@id="maincontent"]/div[1]/ul/li[%d]/div/div/a/@href' %(i))[0]


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             response2 = requests.get(url2,headers=self.header)


            selector2 = etree.HTML(response2.content)


            self.pc(selector2)


    def pc(self,selector2):


        for i in range(1,12):


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             time.sleep(2)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             src = selector2.xpath('//*[@id="picture"]/p/img[%d]/@src' %(i))


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             title = selector2.xpath('//*[@id="picture"]/p/img[%d]/@alt' %(i))


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             print(title)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             print(src)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             self.write(src,title)


    def write(self,src,title):


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全         for a,b in zip(src,title):


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             name = b ".jpg"


            print("正在抓取",name)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             photo = requests.get(a,headers=self.header)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全             time.sleep(5)


            with open(name,"wb") as f:


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全                 f.write(photo.content)


澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 s = sprider()

 

s.url()

 

澳门六合开奖结果-澳门金六彩开奖结果-澳门三合图库资料大全 ps:这个只是我自己编写的一个小程序  仅供学习  想自己用的话还要结合自己的实际情况  比如User-Agent头  要替换成自己的

 

开始运行之后啊就可以看见一张张照片存放在自己的文件夹里了可能会比较慢  没加多线程  后续有时间我会在写一篇多线程的文章

 

见谅见谅  

 

默认存放在这个程序所在的文件夹

简单python爬虫编写

注:本文只提供技术分享,请勿用作其他非法用途。如果造成任何法律部后果与本文作者无关

简单python爬虫编写 相关的内容:

关于 简单python爬虫编写 的评论