|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import requests
import json
if __name__ == '__main__':
# UA伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.78'
}
id_list = []#储存企业id
all_data_list = []#储存企业详细数据
# 批量获取不同企业的id值
url ='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
#参数的封装
for line in range(1,300):
line = str(line)
data ={
'on': 'true',
'page': line,
'pageSize': '15',
'productName':'',
'conditionType': '1',
'applyname':'',
'applysn':''
}
json_ids =requests.post(url=url,headers=headers,data=data).json()
for dic in json_ids['list']:
id_list.append(dic['ID'])
#获取企业详细数据
post_url ='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
for id in id_list:
data_s ={
'id':id
}
detail_json = requests.post(url=post_url,headers=headers,data=data_s).json()
#print(detail_json,'---------end----------')
all_data_list.append(detail_json)
#持久化储存
fp = open('allData.json','w',encoding='utf-8')
json.dump(all_data_list,fp=fp,ensure_ascii=False)
print('爬取结束')
Traceback (most recent call last):
File "D:\pythonProject3\爬虫\药监总局相关数据爬取.py", line 25, in <module>
json_ids =requests.post(url=url,headers=headers,data=data).json()
File "C:\Users\hasee\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 910, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Users\hasee\AppData\Local\Programs\Python\Python39\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Users\hasee\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\hasee\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
page50能拿到数据,page51开始就拿不到了,你去手工核实一下51页之后的数据,我这无法登陆这个网页。
- import requests
- if __name__ == '__main__':
- headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'}
- url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
- data = {
- 'on': 'true',
- 'page': 51,
- 'pageSize': '15',
- 'productName': '',
- 'conditionType': '1',
- 'applyname': '',
- 'applysn': ''
- }
- r = requests.post(url=url, headers=headers, data=data)
- print(r.text)
复制代码
|
|