输入关键字 抓取所有网页(言归正传,介绍如何爬百度图片(滑稽.jpg)(组图) )
优采云 发布时间: 2022-04-03 01:02输入关键字 抓取所有网页(言归正传,介绍如何爬百度图片(滑稽.jpg)(组图)
)
新人在路上,老司机请多多关照,文笔不好请多多指教。
很久很久以前,我是一个勤奋的90后被踢出洞的老人。我一个人晚上什么都可以做!不,我用我的程序来捕捉美丽的照片......
言归正传,本文介绍如何爬取百度图片(funny.jpg):
1. 分析网页结构
%5E00_1519X735&word="关键字"
为了简化网站,其实是↓
“关键词”
在浏览器中访问上面的 URL 并得到以下页面:
可以看到,图片是以翻页的形式显示的。其次,搜索词“keyword”是URL最后一个词的值。因此,如果要搜索某物,请将“word=”后面的关键字更改为对应的一个词,例如“cat”
然后看看这个URL是不是和我们之前想象的一样(即keyword=cat)。
复制过来
%5E00_1665X948&sid=&word=%E7%8C%AB
感觉不对,我要的是“猫”,到底是什么“%E7%8C%AB”?!
事实证明,需要另一个操作:
>>>from urllib.parse import quote
>>>keyword="猫"
>>>keyword=quote(keyword)
>>>keyword
'%E7%8C%AB'
现在,你可以拼接网页了: ....(一堆)+关键字=“你要搜索关键词”
2. 获取当前页面所有图片的链接
右键查看网页源代码后发现:
图片的url都是这种格式:"objURL":"URL",那就好办了,直接用正则表达式即可解决
import re
pattern_pic = '"objURL":"(.*?)",'
# 这里的html就是网页的源代码的内容, 此处不介绍, 稍后给出
pic_list = re.findall(pattern_pic, html, re.S) # 存储当前页的所有图片的url的列表