這個例子是爬取百度翻譯,利用網頁中ajax對傳入單詞進行翻譯。
百度翻譯運用AJAX對錄入的英文進行翻譯,採用post提出請求,返回客戶端json對象。有圖有真像,如下圖:
如下圖 post參數,參數名爲kw,參數形式: parm={'kw':queryword}
所以就要用post方式提交請求,接受的是json格。
1.提交請求用post:res=requests.post(url,data=parm,headers=headers)
- 客戶端接受到是json格式:dict_obj = res.json()
import requests
import json
if __name__=="__main__":
url = "https://fanyi.baidu.com/sug" # 指定url
#設置user-agent用字典的形式
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'}
queryword =input("請錄入需要翻譯的內容:")
parm={'kw':queryword} #傳入post參數
res = requests.post(url,data=parm,headers=headers) # 向相應的url發有請求
dict_obj = res.json()# 取得響應(res)數據,這裏是翻譯後
fp=open("./test.json",'w',encoding='utf-8')
json.dump(dict_obj,fp=fp,ensure_ascii=False) # 把取得的數據存在本地
print("end")