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 关于#网络安全#的问题:求ensp的网络安全,不要步骤要完成版文件
- ¥15 可否在不同线程中调用封装数据库操作的类
- ¥20 使用Photon PUN2解决游戏得分同步的问题
- ¥15 微带串馈天线阵列每个阵元宽度计算
- ¥15 keil的map文件中Image component sizes各项意思
- ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
- ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
- ¥15 划分vlan后,链路不通了?
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 Vue3 大型图片数据拖动排序