Python3 默認提供了urllib庫,可以爬取網頁信息,但其中確實有不方便的地方,如:處理網頁驗證和Cookies,以及Hander頭信息處理。
為了更加方便處理,有了更為強大的庫 urllib3
和 requests
, 本節會分別介紹一下,以后我們著重使用requests
。
1. urllib3庫的使用:
- 安裝:通過使用pip命令來安裝urllib3
pip install urllib3
- 簡單使用:
import urllib3
import re
# 實例化產生請求對象
http = urllib3.PoolManager()
# get請求指定網址
url = "http://www.baidu.com"
res = http.request("GET",url)
# 獲取HTTP狀態碼
print("status:%d" % res.status)
# 獲取響應內容
data = res.data.decode("utf-8")
# 正則解析并輸出
print(re.findall("
",data))
- 其他設置: 增加了超時時間,請求參數等設置
import urllib3
import re
url = "http://www.baidu.com"
http = urllib3.PoolManager(timeout = 4.0) #設置超時時間
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'}, #請求參數信息
)
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狀態碼
print("status:%d" % res.status_code)
# 獲取響應內容
data = res.content.decode("utf-8")
#解析出結果
print(re.findall("
",data))
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
信息
+關注
關注
0文章
406瀏覽量
35562 -
python
+關注
關注
56文章
4799瀏覽量
84817
發布評論請先 登錄
相關推薦
云數據庫是哪種數據庫類型?
云數據庫是一種部署在虛擬計算環境中的數據庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。云數據庫主要分為兩大類:關系型
數據庫事件觸發的設置和應用
數據庫無論對于生產管理還是很多的實際應用都非常重要。小編這次聊一下數據庫事件觸發的應用。示例使用了postgresql和Python。
HAL庫和標準庫的區別 HAL庫與CMSIS的關系
在嵌入式系統開發中,HAL(硬件抽象層)庫和標準庫是兩種常用的軟件庫,它們在功能和使用場景上有所不同。 1. 標準庫 標準
KiCon演講回顧(六):Würth Elektronik KiCad 庫設計與管理
.wrl和.step兩種格式。 需要的操作: 重命名 縮放 改變坐標系 導出.wrl和.step文件。 解決方法:使用 Python 腳本實現自動化 挑戰2:封裝 器件信息數據庫和Python腳本自動化。
Python庫解析:通過庫實現代理請求與數據抓取
在Python中,有多個庫可以幫助你實現代理請求和數據抓取。這些庫提供了豐富的功能和靈活的API,使得你可以輕松地發送HTTP請求、處理響應、解析HTML/XML/JSON數據,以及進
如何利用python和API查詢IP地址?
在Python中,直接查詢IP地址的地理位置或詳細信息(如所屬國家、城市等)通常需要依賴外部API服務,因為Python標準庫本身不提供直接查詢IP地址地理位置的功能。以下是一個使用
發表于 08-28 11:55
深度學習常用的Python庫
深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。本文將深入探討
安裝esp-idf配置install.sh出錯了怎么解決?
recent call last):
File \"/usr/local/lib/python3.6/dist-packages/pip/_vendor/urllib3/response.py\", line 425, in _error_catcher
yield
發表于 06-24 07:37
ESP32下如何加自定義Python庫?
我看官方有提供Micropython的bin文件,但我想根據自己外設擴充一下Python庫,這個應該從哪里入手?
之前做過RTT系統的python庫擴充,RTT有提供Micropyth
發表于 06-18 06:27
ESP32如何安裝MicroPython庫?
??
【問題2】有Python的noise庫,裝還是不裝?裝了也是沒用啊,環境是MicroPython
【請教】請問以上問題如何解決?
發表于 06-05 07:55
python 學習:在內網中 python庫-numpy 安裝方法,升級pip3版本的指令
\\\\numpy-1.26.4-cp311-cp311-win_amd64.whl
內網中升級pip 升級版本的指令:
python.exe -m pip install --upgrade pip--proxy \"http://gateway.schneider.z
發表于 04-22 17:18
評論