ps:输入空姐,则在网页中搜索空姐
ajax 前端局部刷新 百度翻译,是post请求携带的参数 响应的是json数据 post请求要携带参数 json数据
import requests import json if __name__ == '__main__': #指定url链接 post_url='https://fanyi.baidu.com/sug' #post请求参数处理(同get请求一致) data={ 'kw':'dog' } # 伪装一下浏览器 headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'} #请求发送 res=requests.post(url=post_url,data=data,headers=headers) #获取响应数据:json()方法返回一个obj(对象)(如果确认响应数据是json类型的,才可以使用JSON) dic_obj=res.json() print(dic_obj) #持久化存储 fp=open('./dog.json','w',encoding='utf-8') json.dump(dic_obj,fp=fp,ensure_ascii=False)#设置不存在字符模式ps.可以自定义一个输入函数
网址:https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=100&limit=20
因为是json异步加载数据
import requests import json if __name__ == '__main__': url='https://movie.douban.com/j/chart/top_list' param={ "type": "24", "interval_id": "100:90", "action": "", "start": "1",#从库中的第几部电影去取 "limit": "20",#一次取出的个数 } headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'} req=requests.get(url=url,params=param,headers=headers) li_data=req.json()#json返回一个列表 fp=open('./douban.json','w',encoding='utf-8') json.dump(li_data,fp=fp,ensure_ascii=False)#避免出现字符型数据 print('over!!!')import requests if __name__ == '__main__': url='http://www.kfc.com.cn/kfccda/storelist/index.aspx' headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'} param={ "keyword": "青岛", "pageIndex": "1", "pageSize": "10", } response=requests.get(url=url,params=param,headers=headers) list_data=response.text print(list_data)
因为网页中有很多链接,每一个id代表一个公司的详细数据所以要访问每一个链接 先把所有的id打印出来
import requests import json if __name__ == '__main__': #批量获取不同企业的id值 url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList' #参数的封装 data={"on":"true", "page":"1", "pageSize":"15", "productName":"", "conditionType":"1", "applyname":"", "applysn":"",} headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0'} id_list = [] # 存储企业的id json_ids=requests.post(url=url,headers=headers,data=data).json() for dic in json_ids['list']: id_list.append(dic['ID'])#append字典的添加 #获取企业详情数据 post_url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById' for id in id_list: data={ 'id':id } data_json=requests.post(url=post_url,data=data,headers=headers).json() print(data_json,'----------------------------')