动态网页抓取( stringparameter修改23行代码的seed:不然可能会爬不到东西 )
优采云 发布时间: 2021-09-24 15:07动态网页抓取(
stringparameter修改23行代码的seed:不然可能会爬不到东西
)
这时候我们可以考虑,首先我们先获取页面的代码
然后使用正则表达式搜索符合条件的图片
但是,后面可能会有重复,只需在获取的列表末尾使用 set 过滤即可。
理清以上思路后,接下来我们开始搭建爬虫
①初始化头☆
这一步非常重要。如果不构造headers,将被禁止访问==
headers初始化代码如下,用于将爬虫伪装成浏览器请求,请求用于发起特定的AJAX内容
②构建动态AJAX请求
根据上面截图中保存的Query String Parameter参数,我们在构造请求请求时,收录了Params内容
将获取到的下载图片链接保存到列表中
③元素选择
我第一次调试程序的时候,发现得到的链接中有一个以png结尾的链接。这里需要再次过滤列表,保留可以下载图片的链接。
最后,不要忘记使用 set 来删除列表中重复的元素。
④最后使用urllib.request.urlretrieve将图片保存到每张图片的下载地址所在列表的指定路径。
*Pexel一开始也对每张图片的下载地址进行了反爬虫机制的调整,所以下载headers再模拟浏览器^_^
这一步可以单独写成一个函数,但是我没有这样写,因为我是为了方便。
最后贴两张运行结果图
控制台的输出:
下载到本地壁纸
完整代码如下:
①添加一些输出语句以便调试程序
②如果要粘贴直接使用,记得打开页面查看查询字符串参数,修改23行代码的*敏*感*词*内容!否则你可能无法攀爬东西