Python3 默認(rèn)提供了urllib庫,可以爬取網(wǎng)頁信息,但其中確實有不方便的地方,如:處理網(wǎng)頁驗證和Cookies,以及Hander頭信息處理。
為了更加方便處理,有了更為強大的庫 urllib3
和 requests
, 本節(jié)會分別介紹一下,以后我們著重使用requests
。
1. urllib3庫的使用:
- 安裝:通過使用pip命令來安裝urllib3
pip install urllib3
- 簡單使用:
import urllib3
import re
# 實例化產(chǎn)生請求對象
http = urllib3.PoolManager()
# get請求指定網(wǎng)址
url = "http://www.baidu.com"
res = http.request("GET",url)
# 獲取HTTP狀態(tài)碼
print("status:%d" % res.status)
# 獲取響應(yīng)內(nèi)容
data = res.data.decode("utf-8")
# 正則解析并輸出
print(re.findall("
",data))
- 其他設(shè)置: 增加了超時時間,請求參數(shù)等設(shè)置
import urllib3
import re
url = "http://www.baidu.com"
http = urllib3.PoolManager(timeout = 4.0) #設(shè)置超時時間
res = http.request(
"GET",
url,
#headers={
# 'User-Agent':'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1',
#},
fields={'id':100,'name':'lisi'}, #請求參數(shù)信息
)
print("status:%d" % res.status)
data = res.data.decode("utf-8")
print(re.findall("
",data))
2. requests庫的使用:
- 安裝:通過使用pip命令來安裝requests
pip install requests
- 簡單使用:
import requests
import re
url = "http://www.baidu.com"
# 抓取信息
res = requests.get(url)
#獲取HTTP狀態(tài)碼
print("status:%d" % res.status_code)
# 獲取響應(yīng)內(nèi)容
data = res.content.decode("utf-8")
#解析出結(jié)果
print(re.findall("
",data))
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
信息
+關(guān)注
關(guān)注
0文章
407瀏覽量
35958 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86694
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
使用Python實現(xiàn)xgboost教程
裝: bash復(fù)制代碼conda install -c conda-forge xgboost 2. 導(dǎo)入必要的庫 在你的Python腳本或Jupyter Notebook中,導(dǎo)入必要的庫
適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫
和 MariaDB 數(shù)據(jù)庫服務(wù)器以及托管數(shù)據(jù)庫服務(wù),以對存儲的數(shù)據(jù)執(zhí)行創(chuàng)建、讀取、更新和刪除操作。該解決方案完全實現(xiàn)了 Python DB API 2.0 規(guī)范,并作為 Windows、macOS

適用于Oracle的Python連接器:可訪問托管以及非托管的數(shù)據(jù)庫
適用于 Oracle 的 Python 連接器 適用于 Oracle 的 Python 連接器是一種可靠的連接解決方案,用于從 Python 應(yīng)用程序訪問 Oracle 數(shù)據(jù)庫服務(wù)器和
云數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?
云數(shù)據(jù)庫是一種部署在虛擬計算環(huán)境中的數(shù)據(jù)庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫主要分為兩大類:關(guān)系型
數(shù)據(jù)庫事件觸發(fā)的設(shè)置和應(yīng)用
數(shù)據(jù)庫無論對于生產(chǎn)管理還是很多的實際應(yīng)用都非常重要。小編這次聊一下數(shù)據(jù)庫事件觸發(fā)的應(yīng)用。示例使用了postgresql和Python。
HAL庫和標(biāo)準(zhǔn)庫的區(qū)別 HAL庫與CMSIS的關(guān)系
在嵌入式系統(tǒng)開發(fā)中,HAL(硬件抽象層)庫和標(biāo)準(zhǔn)庫是兩種常用的軟件庫,它們在功能和使用場景上有所不同。 1. 標(biāo)準(zhǔn)庫 標(biāo)準(zhǔn)
KiCon演講回顧(六):Würth Elektronik KiCad 庫設(shè)計與管理
.wrl和.step兩種格式。 需要的操作: 重命名 縮放 改變坐標(biāo)系 導(dǎo)出.wrl和.step文件。 解決方法:使用 Python 腳本實現(xiàn)自動化 挑戰(zhàn)2:封裝 器件信息數(shù)據(jù)庫和Python腳本自動化。

NVIDIA發(fā)布cuPyNumeric加速計算庫
該加速計算庫幫助科研人員無縫地擴展到強大的計算集群,并且無需修改 Python 代碼,推進(jìn)科學(xué)發(fā)現(xiàn)。
Python庫解析:通過庫實現(xiàn)代理請求與數(shù)據(jù)抓取
在Python中,有多個庫可以幫助你實現(xiàn)代理請求和數(shù)據(jù)抓取。這些庫提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請求、處理響應(yīng)、解析HTML/XML/JSON數(shù)據(jù),以及進(jìn)
如何利用python和API查詢IP地址?
在Python中,直接查詢IP地址的地理位置或詳細(xì)信息(如所屬國家、城市等)通常需要依賴外部API服務(wù),因為Python標(biāo)準(zhǔn)庫本身不提供直接查詢IP地址地理位置的功能。以下是一個使用
發(fā)表于 08-28 11:55
評論