Python爬取薬監管理局学習事例

7292 ワード

パケット分析により、ページのデータは動的に転送され、ajaxで取得されたデータであることがわかり、ブラウザのコンソールでajaxリクエストとパラメータを取得することができます.詳細ページも同様です.
#     
url = 'http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsList'
header = {
     
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}
id_list = []
name_list = []
id_name = {
     }
for page in range(1,2):
    data = {
     
    'on': 'true',
    'page': page,
    'pageSize': 15,
    'productName':'', 
    'conditionType': 1,
    'applyname':'' 
    }
    response = requests.post(url=url, headers=header,data=data)
    page_json = response.json()
    json_id = page_json['list']
    
    for dic in json_id:
        id_list.append(dic['ID'])
        name_list.append(dic['EPS_NAME'])
        id_name[dic['EPS_NAME']] = dic['ID']
#      
url = 'http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsById'
header = {
     
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}
for name in name_list:
    print(name)
name = input("         :")

getId = id_name[name]
print(getId)
data = {
     
   'id':getId
}
response = requests.post(url=url, headers=header,data=data)
print(response.json())

Python爬取药监管理局学习案例_第1张图片 Python爬取药监管理局学习案例_第2张图片