【python实战】用爬虫在家看街拍,2万张图片够看到明年
2021/7/23 1:06:10
本文主要是介绍【python实战】用爬虫在家看街拍,2万张图片够看到明年,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
哈喽,大家好,我是一条
写了一周
leetcode
刷题,不知道大家有没有进步呢?今天写点实用的,粉丝福利!
前言
夏天到了哈,烈日炎炎,街拍党们又可以大显身手,但是户外虽美,烈日也猛,所以还是在家看的舒服。
一条爬取了街拍网2
万张图片供大家在家观看,看到明年都够了吧!
分析网页
本次用到尚街拍
这个网站,链接
主要包括:街拍、明星、穿搭技巧等
我们选择街拍的网址,打开F12
,找打图片元素对应的html
可以看到url
存放在<img>
标签里,一张图片是一个<li>
解析网页
基于上面的分析,我们决定采用xpath
解析,右键——Copy Xpath,粘贴如下
//*[@id="item-372982"]/div/div[1]/a/picture/img
因为要获得所有的<li>
,我们在往上找一级
<ul class="b2_gap ">
所以按照先定位到<li>
再逐一遍历的思路,代码如下:
res = requests.get(url) html = etree.HTML(res.text) li_list = html.xpath('//*[@class="b2_gap "]/li') for li in li_list: pic_url = li.xpath("./div/div[1]/a/picture/img/@src")[0] title = li.xpath("./div/div[1]/a/picture/img/@alt")[0]
下载图片
有了url我们只需再发送一次请求,保存二进制文件就可以下载图片
pic = requests.get(pic_url).content with open('./meinv/' + title + '.jpg', 'wb') as f: f.write(pic)
爬虫翻页
如上,一页的图片已经爬取成功,可我们还想要更多页,怎么办呢?
观察url
https://www.jiepai.net/jiepai/page/2
最后的page/2
好像和页面有关,我们把2
改成3
试一下
果然,成功了,那翻页就很好解决了
url = 'https://www.jiepai.net/jiepai/page/2' for i in range(0, 1): res = requests.get(url.format(i))
多线程
因为一共要爬取街拍,穿搭,美女三部分内容,共24*(69+96+606)=18504
张图片,单线程实在是耗费时间,所以为每一个方法开一个线程,加快速度
import threading if __name__ == '__main__': th1 = threading.Thread(target=get_jiepai()) th2 = threading.Thread(target=get_meinv()) th3 = threading.Thread(target=get_mingxingchuanyi()) th1.start() th2.start() th3.start()
成果展示
需要源码和下载好的2万张图片的小伙伴
评论区评论【街拍】获取,感谢支持
我是一条,一个在互联网摸爬滚打的程序员。
道阻且长,行则将至。大家的 【点赞,收藏,关注】 就是一条创作的最大动力,我们下期见!
注:关于本篇博客有任何问题和建议,欢迎大家留言!
这篇关于【python实战】用爬虫在家看街拍,2万张图片够看到明年的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享
- 2024-11-06Python 基础编程入门教程
- 2024-11-05Python编程基础:变量与类型