Python打開指定網(wǎng)頁使用requests模塊爬蟲示例詳解
前言
1.什么是爬蟲
爬蟲是一種自動(dòng)化工具,用于從互聯(lián)網(wǎng)或其他計(jì)算機(jī)網(wǎng)絡(luò)上獲取數(shù)據(jù)。它可以模擬人的行為,自動(dòng)訪問網(wǎng)頁,提取感興趣的數(shù)據(jù),并將其存儲(chǔ)到本地計(jì)算機(jī)或數(shù)據(jù)庫中。爬蟲通常用于搜索引擎、數(shù)據(jù)分析、信息聚合等領(lǐng)域,也被許多企業(yè)用于市場(chǎng)調(diào)研、競(jìng)爭(zhēng)分析、用戶行為分析等。一些爬蟲可能會(huì)被用于惡意用途,如掃描漏洞、盜取信息等,因此使用爬蟲時(shí)應(yīng)遵守相關(guān)法律法規(guī)和倫理規(guī)范。
2.爬蟲工作的流程圖
正文
1.認(rèn)識(shí)requests模塊
urllib是python中請(qǐng)求URL連接的官方標(biāo)準(zhǔn)庫,在python2中分為urllib and urllib2,在python3中整合成urllib。requests模塊是在urllib3模塊基礎(chǔ)上進(jìn)行高度封裝,使用更方便,更加人性化。
2.安裝requests模塊
win+R后輸入cmd,之后輸入以下的命令即可。
pip install requests
使用pychram的用戶:File->Settings->Progect,此界面有加號(hào),可以自行安裝
使用anaconda的用戶:默認(rèn)就有了
import requests
3.發(fā)起GET請(qǐng)求
GET請(qǐng)求方法
發(fā)送網(wǎng)絡(luò)請(qǐng)求指的是向一個(gè)特定的網(wǎng)絡(luò)地址或URL,向服務(wù)器發(fā)送請(qǐng)求,以獲取數(shù)據(jù)或執(zhí)行操作。網(wǎng)絡(luò)請(qǐng)求可以包含各種數(shù)據(jù)和參數(shù),例如用戶輸入、查詢條件、身份驗(yàn)證令牌等。發(fā)送網(wǎng)絡(luò)請(qǐng)求是Web應(yīng)用程序和移動(dòng)應(yīng)用程序等客戶端應(yīng)用程序與服務(wù)器端應(yīng)用程序之間通信的關(guān)鍵步驟。常見的網(wǎng)絡(luò)請(qǐng)求方法包括GET、POST、PUT、DELETE等。
import requests # 導(dǎo)入requests模塊 response = requests.get('http://www.baidu.com')
發(fā)送帶參數(shù)的請(qǐng)求
發(fā)送帶參數(shù)的請(qǐng)求的意義是可以將需要發(fā)送的數(shù)據(jù)以參數(shù)的形式傳遞給服務(wù)器,服務(wù)器可以根據(jù)不同的參數(shù)值做出不同的響應(yīng)。對(duì)于不同的業(yè)務(wù)場(chǎng)景,可以使用不同的參數(shù)來控制服務(wù)器的行為,例如:
- 在搜索引擎中,可以通過參數(shù)來指定搜索關(guān)鍵詞、排序方式、分頁等信息,以得到不同的搜索結(jié)果。
- 在電商網(wǎng)站中,可以通過參數(shù)來指定商品類別、價(jià)格區(qū)間、品牌等信息,以篩選出符合條件的商品。
- 在社交網(wǎng)絡(luò)中,可以通過參數(shù)來指定用戶ID、關(guān)注列表、粉絲列表等信息,以獲取相應(yīng)的用戶信息和社交關(guān)系。
import requests # 導(dǎo)入requests模塊 payload = {'key1': 'value1', 'key2': 'value2'} # 字符串字典 r = requests.get("http://www.baidu.com/", params=payload) print(r.url) payload = {'key1': 'value1', 'key2': ['value2', 'value3']} # 將一個(gè)列表作為值傳入 r = requests.get('http://www.baidu.com/', params=payload) print(r.url) r = requests.get("https://www.baidu.com/s?wd=長(zhǎng)春&ie=utf-8&tn=06136131_11_oem_dg") #百度搜索關(guān)鍵字與“長(zhǎng)春”有關(guān)的信息 print(r.url) r = requests.get("https://www.baidu.com/s?wd=北京&ie=utf-8&tn=06136131_11_oem_dg") print(r.url)
運(yùn)行結(jié)果:
定制請(qǐng)求頭headers
請(qǐng)求頭是HTTP協(xié)議中用于傳輸請(qǐng)求信息的一部分,它包含了一些關(guān)于請(qǐng)求的元數(shù)據(jù),如請(qǐng)求類型、請(qǐng)求資源地址、請(qǐng)求參數(shù)、請(qǐng)求的來源等。常見的請(qǐng)求頭字段包括: User-Agent (瀏覽器或客戶端的身份標(biāo)識(shí))、Accept(客戶端能夠接收的MIME類型)、Cookie(請(qǐng)求攜帶的cookie數(shù)據(jù))、Referer(請(qǐng)求前一個(gè)頁面的地址)、Authorization(身份認(rèn)證信息)、Content-Type(請(qǐng)求參數(shù)的MIME類型)、Content-Length(請(qǐng)求參數(shù)的長(zhǎng)度)等。
如:User-Agent= 'Mozilla/5.0 (Windows NT 10.0; WOW64)
import requests # 導(dǎo)入requests模塊 url = 'http://www.baidu.com/s?wd=你是我的神' headers = { 'Content-Type': 'text/html;charset=utf-8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36' } r = requests.get(url,headers=headers) print(r.headers)
4.打開指定網(wǎng)站webbrowser
import webbrowser webbrowser.open('http://chabaoo.cn/')
運(yùn)行一下,就會(huì)跳轉(zhuǎn)到對(duì)應(yīng)的網(wǎng)頁
?
到此這篇關(guān)于Python打開指定網(wǎng)頁使用requests模塊爬蟲示例詳解的文章就介紹到這了,更多相關(guān)Python requests模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)Python中的@classmethod用法詳解
下面小編就為大家分享一篇對(duì)Python中的@classmethod用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖片轉(zhuǎn)字符畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02Python3.5集合及其常見運(yùn)算實(shí)例詳解
這篇文章主要介紹了Python3.5集合及其常見運(yùn)算,結(jié)合實(shí)例形式分析了Python3.5集合的定義、功能、交集、并集、差集等常見操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-05-05Python中dtype、type()和astype()的區(qū)別詳解
這篇文章主要介紹了Python中dtype、type()和astype()的區(qū)別詳解,type()是python內(nèi)置的函數(shù),type()返回?cái)?shù)據(jù)結(jié)構(gòu)類型(list、dict、numpy.ndarray 等),需要的朋友可以參考下2023-08-08Python讀取CSV文件并進(jìn)行數(shù)據(jù)可視化
這篇文章主要為大家詳細(xì)介紹了Python如何讀取CSV文件并進(jìn)行數(shù)據(jù)可視化,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12在django項(xiàng)目中,如何單獨(dú)運(yùn)行某個(gè)python文件
這篇文章主要介紹了在django項(xiàng)目中單獨(dú)運(yùn)行某個(gè)python文件的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-04-04使用Python實(shí)現(xiàn)調(diào)整Excel中的行列順序
調(diào)整Excel?行列順序指的是改變工作表中行或列的位置,以便更好地展示和分析數(shù)據(jù),本文將介紹如何通過Python高效地調(diào)整Excel?行列順序,感興趣的可以了解下2025-01-01