import requests
import json
if __name__ == '__main__' :
start_url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69'
}
ID_dic = []
info1 = []
for page in range(1,6):
page = str(page)
data = {
'on': 'true',
'page' : page,
'pageSize' : '15',
'productName' : '',
'conditionType' : '1',
'applyname' : '',
'applysn' : ''
}
json_ids = requests.post(start_url, data=data, headers=headers).json()
for dict in json_ids['list']:
ID_dic.append(dict['ID'])
#print(ID_dic)
post_url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
for id in ID_dic:
data = {
'id' : id
}
info = requests.post(post_url,data=data,headers=headers).json()
info1.append(info)
#print(info1)
with open('./药监局','w',encoding='utf-8') as f:
f.write(json.dumps(info1,ensure_ascii=False))
f.close()
爬虫爬取数量改变不了,如何解决?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-天际的海浪 2022-01-23 21:41关注
for dict in json_ids['list']: 要缩进增加一层放到 for page in range(1,6):循环里面
你题目的解答代码如下:
import requests import json if __name__ == '__main__' : start_url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69' } ID_dic = [] info1 = [] for page in range(1,6): page = str(page) data = { 'on': 'true', 'page' : page, 'pageSize' : '15', 'productName' : '', 'conditionType' : '1', 'applyname' : '', 'applysn' : '' } json_ids = requests.post(start_url, data=data, headers=headers).json() for dict in json_ids['list']: #缩进增加一层 ID_dic.append(dict['ID']) print(ID_dic) post_url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById' for id in ID_dic: data = { 'id' : id } info = requests.post(post_url,data=data,headers=headers).json() info1.append(info) # print(info1) with open('./药监局','w',encoding='utf-8') as f: f.write(json.dumps(info1,ensure_ascii=False)) f.close()
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 matlab有关常微分方程的问题求解决
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?
- ¥100 求三轴之间相互配合画圆以及直线的算法