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


案例二:爬取搜狗頁面數(shù)據(jù)(get請求)
1.代碼如下
import requests
if __name__ == "__main__":
#step_1:指定url
url = 'https://www.sogou.com/'
#step_2:發(fā)起請求
#get方法會返回一個響應(yīng)對象
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:持久化存儲
with open('./sogou.html','w',encoding='utf-8') as fp:
fp.write(page_text)
print('爬取數(shù)據(jù)結(jié)束?。?!')
2.運(yùn)行結(jié)果如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python在cmd上打印彩色文字實(shí)現(xiàn)過程詳解
這篇文章主要介紹了Python在cmd上打印彩色文字實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08
解決python中安裝serial及No module named ‘serial.too
這篇文章主要介紹了解決python中安裝serial及No module named ‘serial.tools‘等問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Python實(shí)現(xiàn)讀取文件最后n行的方法
這篇文章主要介紹了Python實(shí)現(xiàn)讀取文件最后n行的方法,涉及Python針對文件的讀取、遍歷與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
python實(shí)現(xiàn)通過flask和前端進(jìn)行數(shù)據(jù)收發(fā)
今天小編就為大家分享一篇python實(shí)現(xiàn)通過flask和前端進(jìn)行數(shù)據(jù)收發(fā),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python中sort函數(shù)正則表達(dá)式的使用
在python中,sort是列表排序的一種方法,本文就來介紹一下sort函數(shù)正則表達(dá)式的使用以及與sorted的區(qū)別,具有一定的參考價值,感興趣的可以了解一下2024-03-03
在python中創(chuàng)建表格的兩種方法實(shí)例
Python 是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計(jì)語言,下面這篇文章主要給大家介紹了關(guān)于如何在python中創(chuàng)建表格的兩種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01

