查看原文
其他

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

2017-04-05 大邓 大邓带你玩python



你想多了,是教你抓美女图片,不是教你找女性朋友。


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


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


网站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)

请输入标题     bcdef

 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)


请输入标题     abcdefg

完整代码


更多内容

大数据

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

爬虫

 当爬虫遭遇验证码,怎么办

 知易行难

 用词云图解读“于欢案”

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

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

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

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

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

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

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

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

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

  Python大法好:贴吧爬虫大法

文本分析

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

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

  用python计算两文档相似度

神奇的python

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

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

 开扒皮自己微信的秘密

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

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


视频

https://v.qq.com/txp/iframe/player.html?vid=j0390w7mp1o&width=500&height=375&auto=0

源码链接

https://pan.baidu.com/s/1slCWiqL

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存