-
首先,定义了一个变量`url`,指向百度文库的搜索接口 'https://wenku.baidu.com/gsearch/rec/pcviewdocrec'。
-
然后,设置了请求参数`data`,包括文档ID(`docId`)和查询关键词(`query`)。
-
定义了HTTP请求的头部信息,模拟了一个Chrome浏览器的请求。
-
使用`requests.get()`方法,发送一个GET请求到指定的URL,并将响应内容保存在`response`变量中。
-
从响应的JSON数据中提取了相关文档的信息,包括图片的URL。
-
遍历每个相关文档:
-
获取图片的URL。
-
使用`requests.get()`方法获取图片的内容。
-
将图片内容写入到以数字命名的文件中(保存在`img`文件夹下)。
-
打印相关文档的其他信息。
- 最后,完成了对相关文档图片的下载操作。
完整代码如下:
python
import requests
from pprint import pprint
# 确定请求链接
url = 'https://wenku.baidu.com/gsearch/rec/pcviewdocrec'
# 请求参数
data ={
'docId':'d6b88ed8d0f34693daef5ef7ba0d4a7302766c99',
'query':'趣味答题 题目及答案',
'recPositions':''
}
headers = {
'user-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
}
response = requests.get(url = url, params = data, headers = headers)
num = 1
#pprint(response.json()['data']['relateDoc'])
for index in response.json()['data']['relateDoc']:
pic = index['pic']
img_content = requests.get(url =pic, headers= headers).content
with open('img\\' + str(num) + '.jpg', mode='wb') as f:
f.write(img_content)
print(index)
num += 1
运行效果如下: