requests实战之药监总局相关数据爬取
- 首先分析url的特点, 还有详情页面的url的特点
- 分析请求的方式(ajax请求),respond的数据,要是json的话可以将json文件进行在线转译,看一下具体形式内容
- 根据需要爬取的页面数量构建循环,搭建框架。注意requests.post()中参数(data)的形式,在原网页中观察。
import requests
import json
if __name__ == "__main__":
url = '写入url'
headers = {
"User-Agent":"写入反反爬url"
}
ids_list = []
all_data_json = []
for page in range(1,101):
page = str(page)
param = {
"写入相关参数组"
'page':page
}
json_ids = requests.post(url=url, data=param, headers=headers).json()
for dic in json_ids['list']:
ids_list.append(dic['ID'])
post_url = '详情页面的url'
for id in ids_list:
param = {
"id":id
}
detail_json = requests.post(url=post_url, headers=headers, data=param).json()
all_data_json.append(detail_json)
fp = open('./alldata.json', mode='w', encoding='utf-8')
json.dump(all_data_json, fp=fp, ensure_ascii=False)
print('Done!!!')