五、爬虫实战
5.1 导入模块
import requests # 爬虫必备
import time # 限制爬虫速度
import os # 新建指定存储文件夹
5.2 分析网页
我们右击网页点击插件,可以在network中找到图片链接存储的接口:
接下来只需要去构造参数获取接口中的数据,发送请求即可:
5.3 获取图片链接
这里我们创建一个get_img_url(keyword)
函数传入关键词,通过添加请求头和params表单构造接口参数,发送请求获取图片链接:
def get\_img\_url(keyword):
"""发送请求,获取接口中的数据"""
# 接口链接
url = 'https://image.baidu.com/search/acjson?'
# 请求头模拟浏览器
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'}
# 构造网页的params表单
params = {
'tn': 'resultjson\_com',
'logid': '6918515619491695441',
'ipn': 'rj',
'ct': '201326592',
'is': '',
'fp': 'result',
'queryWord': f'{keyword}',
'word': f'{keyword}',
'cl': '2',
'lm': '-1',
'ie': 'utf-8',
'oe': 'utf-8',
'adpicid': '',
'st': '-1',
'z': '',
'ic': '',
'hd': '',
'latest': '',
'copyright': '',
's': '',
'se': '',
'tab': '',
'width': '',
'height': '',
'face': '0',
'istype': '2',
'qc': '',
'nc': '1',
'fr': '',
'expermode': '',
'force': '',
'cg': 'girl',
'pn': 1,
'rn': '30',
'gsm': '1e',
}
# 携带请求头和params表达发送请求
response = requests.get(url=url, headers=he