网页爬虫抓取百度图片(就是爬取小编精选的图片小编精选-照片(组图))
优采云 发布时间: 2022-02-03 14:16网页爬虫抓取百度图片(就是爬取小编精选的图片小编精选-照片(组图))
更好的体验:Python 爬虫在行动中 - Pixabay上的免费图片
Pixie,一个不错的高清未经审查的图像网站,可以免费下载。
/
一些介绍
超过 900,000 张高质量的照片、插图和矢量图形。免费用于商业用途。无需归属。
Pixabay是一个高质量的图片分享网站。网站 最初是由 Hans Braxmeier 和 Simon Steinberger 在德国开发的。截至 2013 年 2 月,网站 有大约 70,000 张免费照片和矢量图形,由社区中的电影制作人和插画家提供。公司于2010年12月在德国乌尔姆成立。
2012 年 3 月,Pixabay 开始从私人图片集网站 转变为支持 20 种语言的交互式在线社区 网站。同年5月,网站推出了公共应用编程接口,允许第三方用户和网站开发者搜索其图片库。网站还与 Flickr、YouTube 和 Wiki 共享资源。
Pixabay用户无需注册即可获得无版权的高质量图像。根据知识共享合约CC0相关的肖像权,用户通过在本网站上传图片,默认放弃图片版权,让图片得以广泛传播。网站允许任何人在未经许可和背书的情况下使用、修改图像——即使在商业应用中也是如此。
为确保Pixabay上的高质量图片标准,用户上传的所有图片都将由网站工作人员手动审批。大约 27% 的用户会说英语,20% 会说*敏*感*词*语,11% 会说葡萄牙语,7% 会说德语,5% 会说法语。它的用户主要是博主、平面设计师、作家、记者和广告商。
今天的目标是爬取小编的精选图片小编的精选-图片
一、分析
我们需要编写3个函数
A Download(url) 下载图片
一个用于获取编辑器选择的FullUrl()总共165页
最后用来调用main()
开始一一写吧~
编辑精选 - 照片
打开网页,F12,查看图片链接所在的标签
你可以看到图片链接都在那里
标签下,但是发现第一张和最后一张图片的属性不一样,提取出来的
“src”很好,使用xpath
import requests
from lxml import etree
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
url = 'https://pixabay.com/zh/editors_choice/'
r = requests.get(url,headers=header).text
s = etree.HTML(r)
print(s.xpath('//img/@src'))
结果发现
前面是正确的图片链接,后面却出现'/static/img/blank.gif',这是什么鬼,查看网页源代码,搜索
可以发现确实有这个字符串,我自己也花了很多时间在这上面。感谢帮助,Python爬虫动态页面爬取问题?- 爬虫(计算机网络) - 知乎
浏览器中的代码是用javascript修改的,可以直接用requests打印出来看看
/static/img/blank.gif
在requests返回的数据中可以看到,“data-lazy”总是收录我们需要的数据,修改代码
发现现在返回的数据就是我们需要的,打开图片查看
下图更清晰,我们只需要将“__340”替换为“_960_720”即可