爬虫搜集爬虫程序员

【视频】手把手教你写抓美女爬虫~

2017-04-04  本文已影响612人  大邓和他的python

今天呢,大邓给大家写个爬图片的爬虫,毕竟之前写了验证码的爬虫,关于图片保存已经涉及了,那么咱们就来个图片爬虫吧。

毕竟网上的数据除了文本,还有图片这一大类。凭啥装作看不见呢!!今天大邓就突破自己之前的界限,爬爬图片,有益身心。O(∩_∩)O

视频教程在文章最末尾!!!


心动不如行动,快学python吧

网站:http://desk.zol.com.cn/

我们直接打开美女标签的网址,打开如下

写爬虫前,我们一定要清楚思路,不然写起来会很混乱,写的很纠结。今天我就没构思思路,觉得很easy,就随便写吧。结果写的很乱,功能实现了,但是工作量大了好多。后来录制视频时,才按照思路展开,省时又省力。

思路梳理

一、分析网站url结构

1、分析主页的网址url规律

2、 获得主页中不同详情页的url

    使用BeautifulSoup和re库获取到详情页的url

3、打开图片集,获得壁纸大图的url

    使用re正则匹配出壁纸大图的url

二、壁纸的下载与保存


开始实战

1、分析主页的url,这个比较简单,我们填充tag和page的值就可以构造主页面url

base_url = 'http://desk.zol.com.cn/{tag}/{page}.html'

2、获得主页中不同图片集的url

使用BeautifulSoup和re库获取到图片集的url

如上图,我们先用Beautifulsoup库将图片集定位出来。我们只需找到能代表这类图片集的一个标签找到即可,推广开就找到整个主页面所有的详情页url

url = base_url.format(tag='chemo', page=i)

resp = requests.get(url)

#防止中文部分出现乱码,详情可看视频

resp.encoding = 'gb2312'

bsObj = BeautifulSoup(resp.text, 'lxml')

PicUrlList = bsObj.find_all('li', {'class':'photo-list-padding'})

找到这类标签(返回的是列表)后,我们在遍历列表中的元素,对每个元素进行正则匹配,匹配出详情页url(href是url的一部分,后面要进行拼接才能成为完整的url)

href_pattern = re.compile(r'href="(.*?)"')

name_pattern = re.compile(r'title="(.*?)" width="208px"')

for Pic in PicUrlList:

    String = str(Pic)

    page_url = re.findall(href_pattern, String)[0]

    name = re.findall(name_pattern, String)[0]

    info = (page_url,name)

3、打开图片集,获得壁纸大图的url

使用re正则匹配出壁纸大图的url

b_url = 'http://desk.zol.com.cn'

url = b_url + picurl

resp = requests.get(url).text

img_src_pattern = re.compile(r'nowPicSrc      : "(.*?)"')

img_src = re.findall(img_src_pattern, resp)[0]

img = requests.get(img_src).content

4、下载保存图片

path = os.getcwd() + '/车模/' + picname + '.jpg'

with open(path,'wb') as f:

    f.write(img)

完整代码

更多内容

大数据

大数据时代,你如何成为弄潮儿

爬虫

当爬虫遇到验证码,怎么办??

【视频】于欢案之网民的意见(1)?

【视频】有了selenium,小白也可以自豪的说:“去TMD的抓包、cookie”

【视频】快来get新技能--抓包+cookie,爬微博不再是梦

【视频教程】用python批量抓取简书用户信息

爬豆瓣电影名的小案例(附视频操作)

爬豆瓣电影名的小案例2(附视频操作)

python代理爬虫抓豆瓣电影数据(一)

python代理爬虫抓豆瓣电影数据(二)

用Python抓取百度地图里的店名,地址和联系方式

Python大法好:贴吧爬虫大法

文本分析

python居然有情感??真的吗??

基于共现发现人物关系的python实现

用python计算两文档相似度

神奇的python

怜香惜玉,我用python帮助办公室文秘

逆天的量化交易分析库-tushare

开扒皮自己微信的秘密

8行代码实现微信聊天机器人

使用Python登录QQ邮箱发送QQ邮件

【视频】手把手教你抓美女~

关注公众号:大邓带你玩python即可获得项目源码

上一篇下一篇

猜你喜欢

热点阅读