Python使用requests模塊爬取百度翻譯
requests模塊:
python中原生的一款基于網(wǎng)絡(luò)請(qǐng)求的模塊,功能非常強(qiáng)大,簡(jiǎn)單便捷,效率極高。
作用:模擬瀏覽器發(fā)請(qǐng)求。
提示:老版使用 urllib模塊,但requests比urllib模塊要簡(jiǎn)單好用,現(xiàn)在學(xué)習(xí)requests模塊即可!
requests模塊編碼流程
指定url
1.1 UA偽裝
1.2 請(qǐng)求參數(shù)的處理
2.發(fā)起請(qǐng)求
3.獲取響應(yīng)數(shù)據(jù)
4.持久化存儲(chǔ)
環(huán)境安裝:
pip install requests
案例一:破解百度翻譯(post請(qǐng)求)
1.代碼如下:
#爬取百度翻譯#導(dǎo)入模塊import requestsimport json#UA偽裝:將對(duì)應(yīng)的User-Agent封裝到一個(gè)字典中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’} #網(wǎng)頁(yè)訪問(wèn)連接 url=’https://fanyi.baidu.com/sug’ #處理url攜帶的參數(shù):封裝到字典中word=input('input a word: ')data={ ’kw’: word}#請(qǐng)求發(fā)送res=requests.post(url=url,data=data,headers=headers)#獲取響應(yīng)數(shù)據(jù):json()方法返回的是obj(如果確認(rèn)響應(yīng)數(shù)據(jù)是json類型的,才可以使用json())dic_obj=res.json()#持久化存儲(chǔ)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 這個(gè)url的定位如下圖:

2.運(yùn)行結(jié)果


案例二:爬取搜狗頁(yè)面數(shù)據(jù)(get請(qǐng)求)
1.代碼如下
import requestsif __name__ == '__main__': #step_1:指定url url = ’https://www.sogou.com/’ #step_2:發(fā)起請(qǐng)求 #get方法會(huì)返回一個(gè)響應(yīng)對(duì)象 response = requests.get(url=url) #step_3:獲取響應(yīng)數(shù)據(jù).text返回的是字符串形式的響應(yīng)數(shù)據(jù) page_text = response.text print(page_text) #step_4:持久化存儲(chǔ) with open(’./sogou.html’,’w’,encoding=’utf-8’) as fp: fp.write(page_text) print(’爬取數(shù)據(jù)結(jié)束!!!’)
2.運(yùn)行結(jié)果如下:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解Android studio 動(dòng)態(tài)fragment的用法2. Android如何加載Base64編碼格式圖片3. 解決Android studio xml界面無(wú)法預(yù)覽問(wèn)題4. 圖文詳解vue中proto文件的函數(shù)調(diào)用5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)7. Vuex localStorage的具體使用8. php模擬實(shí)現(xiàn)斗地主發(fā)牌9. vue 使用localstorage實(shí)現(xiàn)面包屑的操作10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備