Python使用requests模塊爬取百度翻譯
requests模塊:
python中原生的一款基于網絡請求的模塊,功能非常強大,簡單便捷,效率極高。
作用:模擬瀏覽器發請求。
提示:老版使用 urllib模塊,但requests比urllib模塊要簡單好用,現在學習requests模塊即可!
requests模塊編碼流程
指定url
1.1 UA偽裝
1.2 請求參數的處理
2.發起請求
3.獲取響應數據
4.持久化存儲
環境安裝:
pip install requests
案例一:破解百度翻譯(post請求)
1.代碼如下:
#爬取百度翻譯#導入模塊import requestsimport json#UA偽裝:將對應的User-Agent封裝到一個字典中headers = { ’user-agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ’ ’Chrome/57.0.2987.98 Safari/537.36’} #網頁訪問連接 url=’https://fanyi.baidu.com/sug’ #處理url攜帶的參數:封裝到字典中word=input('input a word: ')data={ ’kw’: word}#請求發送res=requests.post(url=url,data=data,headers=headers)#獲取響應數據:json()方法返回的是obj(如果確認響應數據是json類型的,才可以使用json())dic_obj=res.json()#持久化存儲filename=word+’.json’fp=open(filename,’w’,encoding=’utf-8’)json.dump(dic_obj,fp=fp,ensure_ascii=False)#打印完成提示print(’finish’)
其中:
https://fanyi.baidu.com/sug 這個url的定位如下圖:
2.運行結果
案例二:爬取搜狗頁面數據(get請求)
1.代碼如下
import requestsif __name__ == '__main__': #step_1:指定url url = ’https://www.sogou.com/’ #step_2:發起請求 #get方法會返回一個響應對象 response = requests.get(url=url) #step_3:獲取響應數據.text返回的是字符串形式的響應數據 page_text = response.text print(page_text) #step_4:持久化存儲 with open(’./sogou.html’,’w’,encoding=’utf-8’) as fp: fp.write(page_text) print(’爬取數據結束!?。 ?
2.運行結果如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: