Python3 默認(rèn)提供了urllib庫,可以爬取網(wǎng)頁信息,但其中確實(shí)有不方便的地方,如:處理網(wǎng)頁驗(yàn)證和Cookies,以及Hander頭信息處理。
為了更加方便處理,有了更為強(qiáng)大的庫 urllib3
和 requests
, 本節(jié)會(huì)分別介紹一下,以后我們著重使用requests
。
1. urllib3庫的使用:
- 安裝:通過使用pip命令來安裝urllib3
pip install urllib3
- 簡單使用:
import urllib3
import re
# 實(shí)例化產(chǎn)生請(qǐng)求對(duì)象
http = urllib3.PoolManager()
# get請(qǐng)求指定網(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í)間,請(qǐng)求參數(shù)等設(shè)置
import urllib3
import re
url = "http://www.baidu.com"
http = urllib3.PoolManager(timeout = 4.0) #設(shè)置超時(shí)時(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'}, #請(qǐng)求參數(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
信息
+關(guān)注
關(guān)注
0文章
405瀏覽量
35492 -
python
+關(guān)注
關(guān)注
54文章
4756瀏覽量
84283
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何利用python和API查詢IP地址?
在Python中,直接查詢IP地址的地理位置或詳細(xì)信息(如所屬國家、城市等)通常需要依賴外部API服務(wù),因?yàn)?b class='flag-5'>Python標(biāo)準(zhǔn)庫本身不提供直接查詢IP地址地理位置的功能。以下是一個(gè)使用
發(fā)表于 08-28 11:55
深度學(xué)習(xí)常用的Python庫
深度學(xué)習(xí)作為人工智能的一個(gè)重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學(xué)習(xí)研究和應(yīng)用的首選工具。本文將深入探討
安裝esp-idf配置install.sh出錯(cuò)了怎么解決?
recent call last):
File \"/usr/local/lib/python3.6/dist-packages/pip/_vendor/urllib3/response.py\", line 425, in _error_catcher
yield
發(fā)表于 06-24 07:37
ESP32下如何加自定義Python庫?
我看官方有提供Micropython的bin文件,但我想根據(jù)自己外設(shè)擴(kuò)充一下Python庫,這個(gè)應(yīng)該從哪里入手?
之前做過RTT系統(tǒng)的python庫擴(kuò)充,RTT有提供Micropyth
發(fā)表于 06-18 06:27
python 學(xué)習(xí):在內(nèi)網(wǎng)中 python庫-numpy 安裝方法,升級(jí)pip3版本的指令
\\\\numpy-1.26.4-cp311-cp311-win_amd64.whl
內(nèi)網(wǎng)中升級(jí)pip 升級(jí)版本的指令:
python.exe -m pip install --upgrade pip--proxy \"http://gateway.schneider.z
發(fā)表于 04-22 17:18
phpy:PHP與Python互調(diào)用庫
phpy 是識(shí)沃團(tuán)隊(duì)最新推出的開源項(xiàng)目,目標(biāo)是為 PHP 引入 Python 生態(tài),來彌補(bǔ) PHP 生態(tài)的空缺和不足。phpy 使得 PHP 可以調(diào)用所有 Python 的包。 包括當(dāng)下非常流行
1000+常用Python庫一覽
lxml,快速,易用、靈活的HTML和XML處理庫,功能超強(qiáng),在遇到有缺陷、不規(guī)范的xml時(shí),Python自帶的xml處理器可能無法解析。報(bào)錯(cuò)時(shí),程序會(huì)嘗試再用lxml的修復(fù)模式解析。
python第三方庫有哪些
Python 作為一門功能強(qiáng)大的編程語言,擁有豐富的第三方庫,幾乎覆蓋了各個(gè)領(lǐng)域的應(yīng)用。下面是一些常見且廣泛應(yīng)用的 Python 第三方庫的總結(jié),希望能為您提供幫助。 NumPy(Nu
ROS Motion Planning運(yùn)動(dòng)規(guī)劃庫如何安裝相關(guān)依賴
工作空間的src文件夾下,并解壓 安裝相關(guān)依賴 (1)關(guān)于Python 關(guān)于Python推薦使用Python3,對(duì)于Ubuntu20.04對(duì)應(yīng)的ROS Noetic一般默認(rèn)使用的都是Pytho
python中如何引入math庫
在Python中,要使用math庫,首先需要先引入它。math庫是Python的一個(gè)標(biāo)準(zhǔn)庫,它提
在Python中關(guān)于retrying庫的使用
到使用try except來進(jìn)行異常捕捉進(jìn)行失敗重試(Retry)。雖然try-escept一個(gè)非常常見和有效的方式來增強(qiáng)程序穩(wěn)定性,但是可能一不小心就會(huì)造成棧溢出。 所以接下來我就來介紹一個(gè)另外的一個(gè)專門用于失敗重試的庫: retrying 。 定義 在Python生態(tài)
時(shí)間序列分析的四個(gè)基本Python庫介紹
在本文中,我們將介紹四個(gè)主要的Python庫——statmodels、tslearn、tssearch、 tsfresh ——每個(gè)庫都針對(duì)時(shí)間序列分析的不同方面進(jìn)行了定制。這些庫為從預(yù)
Newspaper:用于提取和整理文章的python庫
Newspaper 是一個(gè)很棒的python庫,用于提取和整理文章。 它有以下的優(yōu)點(diǎn): 多線程文章下載框架 識(shí)別新聞網(wǎng)址 從html提取文本 從html提取頂部圖像 從html提取所有圖像 從文本
評(píng)論