成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > python常用request庫與lxml庫操作方法整理總結(jié)

python常用request庫與lxml庫操作方法整理總結(jié)

熱門標(biāo)簽:外呼并發(fā)線路 地圖標(biāo)注審核表 百度地圖標(biāo)注沒有了 長沙高頻外呼系統(tǒng)原理是什么 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 湛江智能外呼系統(tǒng)廠家 ai電話機器人哪里好 宿遷星美防封電銷卡 ai電銷機器人源碼

requests 庫最常見的操作

請求參數(shù)以及請求方法

導(dǎo)入 requests 庫之后,基本都在圍繞 requests.get 做文章,這里重點要回顧的是 get 方法的參數(shù),其中包含如下內(nèi)容,下述內(nèi)容在官方手冊沒有呈現(xiàn)清單,通過最新版源碼分析。

除 url 參數(shù)外,其余都為可選參數(shù),即非必選。

  • url:請求地址;
  • params:要發(fā)送的查詢字符串,可以為字典,列表,元組,字節(jié);
  • data:body 對象中要傳遞的參數(shù),可以為字段,列表,元組,字節(jié)或者文件對象;
  • json:JSON 序列化對象;
  • headers:請求頭,字典格式;
  • cookies:傳遞 cookie,字段或 CookieJar 類型;
  • files:最復(fù)雜的一個參數(shù),一般出現(xiàn)在 POST 請求中,格式舉例 "name":文件對象 或者 {'name':文件對象},還可以在一個請求中發(fā)送多個文件,不過一般爬蟲場景不會用到;
  • auth:指定身份驗證機制;
  • timeout:服務(wù)器等待響應(yīng)時間,在源碼中檢索到可以為元組類型,這個之前沒有使用過,即 (connect timeout, read timeout);
  • allow_redirects:是否允許重定向;
  • proxies:代理;
  • verify:SSL 驗證;
  • stream:流式請求,主要對接流式 API;
  • cert:證書。

以上內(nèi)容就是 GET 請求中可以配置的參數(shù),除了 GET 請求外,requests 還內(nèi)置了其他的服務(wù)器請求方式,如下所示,這些方法需要的參數(shù)與上述清單一致。

GET, OPTIONS, HEAD, POST, PUT, PATCH, or DELETE

在 Python 爬蟲的實戰(zhàn)當(dāng)中,主要以 GET 與 POST 為主,常用的參數(shù)為:

url,params,data,headers,cookies,timeout,proxies,verify。

響應(yīng)對象的屬性與方法

使用 requests 庫請求之后,會得到一個 Response 對象,該對象最重要的內(nèi)容就是屬性與方法,通過 dir 函數(shù)可以獲取 Response 對象的屬性和方法。

    help(res)
    print(dir(res))

獲取到的內(nèi)容如下所示,其中有我們之前案例中常見的一些內(nèi)容。

['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__',
'__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__',
'__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__',
'__module__', '__ne__', '__new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__',
'__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__',
'_content', '_content_consumed', '_next', 'apparent_encoding', 'close', 'connection',
'content', 'cookies', 'elapsed', 'encoding', 'headers', 'history', 'is_permanent_redirect',
'is_redirect', 'iter_content', 'iter_lines', 'json', 'links', 'next', 'ok', 'raise_for_status',
'raw', 'reason', 'request', 'status_code', 'text', 'url']

如果只將 requests 庫應(yīng)用在爬蟲采集領(lǐng)域,那上述屬性與方法中,比較常用的有:

屬性 property

  • ok:只要狀態(tài)碼 status_code 小于 400,都會返回 True;
  • is_redirect:重定向?qū)傩裕?/li>
  • content:響應(yīng)內(nèi)容,字節(jié)類型;
  • text:響應(yīng)內(nèi)容,Unicode 類型;
  • status_code:響應(yīng)狀態(tài)碼;
  • url:響應(yīng)的最終 URL 位置;
  • encoding:當(dāng)訪問 r.text 時的編碼;

方法

  • json:將響應(yīng)結(jié)果序列化為 JSON;

會話對象

在本專欄前面的文章中,存在一個被忽略的 requests 高級特性,即會話對象

該對象能夠在跨域請求的時候,保持住某些參數(shù),尤其是 cookie

如果你想向同一主機發(fā)送多個請求,使用會話對象可以將底層的 TCP 連接進行重用,帶來顯著的性能提升。

  • 會話對象使用非常簡單,在發(fā)起 requests 對象之前,增加如下所示代碼即可。
# 建立會話對象
s = requests.Session()
# 后續(xù)都使用會話對象進行進行,而不是直接使用 requests 對象
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get("http://httpbin.org/cookies")
print(r.text)

由于專欄前面并未涉及相關(guān)案例,故直接引入官方手冊案例說明。

  • 下述代碼演示的是會話也可用來為請求方法提供缺省數(shù)據(jù),顧名思義就是直接給會話對象增加的請求參數(shù),在后續(xù)代碼中默認可用。
import requests
s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})
# both 'x-test' and 'x-test2' are sent
r = s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})
print(r.text)

接下來官網(wǎng)案例還展示了 法級別的參數(shù)也不會被跨請求保持,即在 s.get() 方法中如果傳遞了 cookie,那不會被保持住,這兩個案例,從正面與反面為我們核心展示的就是,如何使用會話對象保持參數(shù)

  • 通過會話對象的屬性設(shè)置的參數(shù),能被保持,
  • 而通過會話對象方法傳遞的參數(shù),不能被保持。

SSL 證書驗證,客戶端證書,CA 證書

在爬蟲采集數(shù)據(jù)的過程中,碰到 https 的網(wǎng)站在正常不過,requests 庫使用過程中 SSL 驗證是默認開啟的,如果證書驗證失敗,即拋出 SSLError錯誤。

不過更多的時候,我們通過設(shè)置 verify = False ,忽略對 SSL 證書的驗證,除非及其特殊的情況,必須增加相關(guān)證書邏輯。

代理

有的網(wǎng)站在采集過程中,會針對 IP 進行限制,此時就需要使用代理進行跳過操作,設(shè)置 proxies 參數(shù)即可,本部分內(nèi)容比較簡單,后續(xù)很多案例還會復(fù)用到。

除了 HTTP 代理外, requests 2.10 版本之后,增加了 SOCKS 代理,如果你需要使用,需要通過 pip 安裝相應(yīng)庫。

pip install requests[socks]

安裝完畢,出現(xiàn)新的第三方庫 PySocks,使用方式與 HTTP 代理一致。

Cookie

爬蟲采集過程會大量的與 cookie 打交道,

獲取網(wǎng)站響應(yīng)的 cookie,使用 response 對象的 cookies 屬性即可。

  • 如果希望向服務(wù)器傳遞 cookie,可以通過 cookies 參數(shù),例如下述代碼:
url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working')
r = requests.get(url, cookies=cookies)
  • 如果你希望對 cookie 有更加細致的操作,重點研究 requests.cookies.RequestsCookieJar 對象即可,簡單的代碼使用如下所示:
jar = requests.cookies.RequestsCookieJar()
jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
jar.set('gross_cookie', 'blech', domain='httpbin.org', path='/elsewhere')
url = 'http://httpbin.org/cookies'
r = requests.get(url, cookies=jar)
print(r.text)

RequestsCookieJar 對象具備更加豐富的接口,適合跨域名跨路徑使用,相關(guān)接口查詢:

https://docs.python-requests.org/zh_CN/latest/api.html#requests.cookies.RequestsCookieJar

requests 非常適合作為 Python 爬蟲入門階段第一選擇,其簡單的接口與代碼封裝

  • 能大幅度降低網(wǎng)絡(luò)請求代碼編寫難度,讓你專注與目標(biāo)數(shù)據(jù)的提取,
  • 更有基于高級請求的封裝作為提高部分,該庫完全可以貫穿你的整個爬蟲工程師生涯。

lxml 庫

lxml 庫是一款 Python 數(shù)據(jù)解析庫,參考重要文檔在 https://lxml.de/,項目開源地址在:https://github.com/lxml/lxml,在一頓檢索之后,發(fā)現(xiàn) lxml 沒有中文相關(guān)手冊,不過好在英文文檔閱讀難度不大,我們可以直接進行學(xué)習(xí)。

lxml.etree

縱覽之前的博客內(nèi)容,出場率最高的就是 lxml.etree ,其次就是 Element 對象,我們在解析數(shù)據(jù)的時候,大量的代碼都是基于 Element 對象的 API 實現(xiàn)。

  • 在爬蟲代碼采集過程中,通過 etree.HTML 直接將字符串實例化為 element 對象。
import requests
from lxml import etree

res = requests.get("http://www.jsons.cn/zt/")

html = res.text

root_element = etree.HTML(html)

print(root_element)
print(root_element.tag)

上述代碼輸出內(nèi)容如下所示:

Element html at 0x3310508>
html

  • 其中需要注意的是 Element 后面的 html,該字符串表示對象的標(biāo)簽名為 html,如果使用下述代碼:
print(root_element[1])
  • 上述內(nèi)容得到的是 Element body at 0x356e248>,即 body 標(biāo)簽,同樣的操作可以使用子元素獲取。
print("*"*100)
for child in root_element:
    print(child.tag)

上述代碼輸出的內(nèi)容為:

head
body

該輸出表示在 html 標(biāo)簽中,只包含head 與 body 標(biāo)簽,實際情況也確實如此,為了驗證,你可以在 循環(huán)中繼續(xù)嵌套一層。

此時輸出的內(nèi)容就變得豐富了需求,如下圖所示:

你也可以通過 etree.tostring(element對象) 直接將該對象轉(zhuǎn)換為字符串進行輸出。

for child in root_element:
    for item in child:
        print(item.tag)
        print(etree.tostring(item))

XPath

lxml 庫可以配合其他的解析引擎進行工作,首次接觸的就是 XPath,關(guān)于 XPath 相關(guān)的知識,我們后續(xù)會細化學(xué)習(xí),本節(jié)課依舊從 lxml 的角度出發(fā),為你介紹。

在爬蟲代碼編寫中,直接使用 html.xpath("xpath表達式") 即可獲取目標(biāo)數(shù)據(jù),例如獲取網(wǎng)頁 title。

print(root_element.xpath('//title'))

獲取網(wǎng)頁所有文本:

print(root_element.xpath('string()'))

獲取到 element 對象之后,可調(diào)用 text 屬性,獲取對應(yīng)文本,在使用的時候,需要注意使用 XPath 獲取到的 element 對象,都是列表。

title_element = root_element.xpath('//title')
print(title_element[0].text)

在 lxml 中,還內(nèi)置了一款 簡單的類似 XPath 的路徑語言,稱為 ElementPath,例如查詢 title,需要從 head 開始檢索,否則返回 None。

print(root_element[0].find("title"))

官方提供的方法如下:

  • iterfind(): 返回查找到的數(shù)據(jù),迭代器形式返回;
  • findall(): 返回匹配到的列表;
  • find(): 返回第一個匹配到的數(shù)據(jù);
  • findtext(): 返回匹配到的文本數(shù)據(jù),第一個。

lxml 其他說明

lxml 除了可以配合 XPath 實現(xiàn)數(shù)據(jù)解析外,還可以與 cssselect ,BeautifulSoup,html5lib 配合使用,這部分在后續(xù)的案例中,將逐步進行展開。

lxml 在爬蟲領(lǐng)域,更多的是在提取數(shù)據(jù),因此較于該庫本身,掌握 XPath 等解析表達式的寫法更加重要。

鑒于該庫手冊沒有被翻譯,后期可以嘗試將其翻譯為中文。

到此這篇關(guān)于總結(jié)python常用request庫與lxml庫常用操作的文章就介紹到這了,更多相關(guān)python中request庫與lxml庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python中requests庫+xpath+lxml簡單使用
  • Python使用lxml模塊和Requests模塊抓取HTML頁面的教程
  • requests和lxml實現(xiàn)爬蟲的方法
  • Python爬蟲基礎(chǔ)之XPath語法與lxml庫的用法詳解
  • Python lxml模塊安裝教程

標(biāo)簽:海南 漯河 盤錦 寧夏 南平 林芝 大同 普洱

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python常用request庫與lxml庫操作方法整理總結(jié)》,本文關(guān)鍵詞  python,常用,request,庫與,lxml,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python常用request庫與lxml庫操作方法整理總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于python常用request庫與lxml庫操作方法整理總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    蜜臀av免费一区二区三区| 日韩欧美在线视频一区二区| 美女视频黄 久久| 极品人妻videosss人妻| 另类图片综合电影| 美国欧美日韩国产在线播放| 欧美精品第一页在线播放| 一区二区三区四区视频| 无码国产精品一区二区高潮| 午夜成人免费视频| 一区二区三区蜜桃网| 中文字幕第一区二区| 国产又爽又黄免费软件| 欧美成人精品一区二区| 久久影院一区| 国产真实伦在线观看| 91麻豆精品久久毛片一级| 国产精品久久久影院| 国产成人亚洲精品| 日韩影院一区二区| 性做久久久久久久久久| 在线观看日韩精品视频| 日韩视频在线免费看| 中文字幕中文字幕| 2025韩国大尺度电影| 自由日本语热亚洲人| 成人18视频| zzijzzij亚洲日本少妇熟睡| 日本高清免费不卡视频| 欧美一区二区三区四区在线| 亚洲免费黄色录像| 欧美伦理影院| 黄色录像免费观看| 美女福利视频一区二区| 五月婷婷伊人网| 天天摸天天操天天干| 亚洲黄色一区二区| 亚洲人性生活视频| 国产成人无码精品久在线观看| 中文字幕+乱码+中文乱码www| 久久久亚洲高清| 亚洲欧美一区二区三区四区五区| 亚洲中文字幕无码av永久| 国产激情自拍| 91精品国产综合久久久久久久| 久久99青青精品免费观看| 奇米影视888狠狠狠| 国产日产欧美一区二区| 亚洲精品乱码久久久久久9色| 白白色视频在线| 成人午夜黄色影院| 暖暖日本在线观看| 日本一本久久| 国产成人无码精品久久久性色| 久久国产三级精品| 搞av.com| 中文字幕线观看| 在线成人激情| 国产精品久久网站| 无遮挡h肉3d动漫在线观看| 成人av免费看| 四虎影在永久在线观看| 精品国产免费无码久久久| 麻豆国产精品一区二区三区| 国产精品久久久久影院日本| 亚洲第一图区| 国产精品青草久久久久福利99| 国语精品中文字幕| 天堂av一区二区三区| 国产自产2019最新不卡| 天天爽夜夜爽夜夜爽精品视频| 99热99精品| 日本国产精品视频| 97久久精品人人澡人人爽| 欧美激情一二区| 99久久国产综合精品麻豆| 综合天堂av久久久久久久| 无码人妻精品一区二区三区66| 色中色一区二区| 亚洲爆乳无码一区二区三区| 日韩精品―中文字幕| 午夜免费福利视频在线观看| 成人不用播放器| 九九热视频免费在线观看| 久久久久久久久久久9不雅视频| 亚洲女娇小黑人粗硬| av三级影院| 久久精品在线| 哺乳一区二区三区中文视频| 奇米视频7777| 欧洲中文字幕国产精品| 爽成人777777婷婷| 亚洲第一天堂在线观看| 97超碰人人看| 91欧美日韩| 欧美日韩1区2区| 成人免费淫片免费观看| 好看的中文字幕在线播放| 国产aⅴ爽av久久久久成人| 精品久久对白| 亚洲精品777| 911美女片黄在线观看游戏| 亚洲日本视频在线| 一区二区三区|亚洲午夜| 91看片在线| 玖玖精品在线视频| 欧美1级日本1级| 国产精品极品美女在线观看免费| 天堂入口网站| 国产精品大全| 国产精品一区二区视频| 国产美女视频网站| 日韩欧美在线观看一区二区三区| 成人动漫视频在线观看免费| 国产精品theporn88| 国产精品美女久久久久久不卡| 网站在线你懂的| 国产精品无码一区二区三区| 亚洲欧美日韩直播| 美女黄色成人网| 国产精品久久婷婷| brazzers精品成人一区| 亚洲精品国产成人久久av盗摄| 在线看片不卡| 在线黄色免费网站| 一级黄色免费在线观看| 国产三级三级三级看三级| 污污的视频免费观看| 97久精品国产片一区二区三区| 91国产精品一区| 亚洲av毛片基地| 日本一区二区免费在线观看| 亚洲网站在线播放| 亚洲网友自拍| 777片理伦片在线观看| 成年人黄色电影| 国产一区二区三区日韩| 国产精品久久久久久久久鸭| 国产黄色小视频在线观看| 欧美浪妇xxxx高跟鞋交| 日本一区二区在线播放| 成人午夜视频福利| 欧美日本在线观看| 国产高清av在线播放| 欧美性极品xxxx做受| 天堂va欧美va亚洲va老司机| 福利在线白白| 国产又爽又黄又刺激的软件| www.在线播放| 国产在线拍揄自揄拍| 国产一区三区在线播放| 在线观看的av网站| 欧美性受xxxx黑人猛交88| 制服黑丝国产在线| 精品国模一区二区三区欧美| 激情一区二区三区| 国产三级精品三级在线观看| 天天综合色天天综合色h| 人人妻人人澡人人爽欧美一区| 欧美亚洲综合一区| 日韩精品中文字幕一区二区三区| 亚洲美女www午夜| 欧美三级网色| 韩国一区二区在线播放| 国产精品久久久久久久天堂第1集| 一本色道久久综合亚洲精品按摩| 伊人狠狠色丁香综合尤物| 日韩美女一区二区三区在线观看| 综合另类专区| 激情小说激情视频| 91九色视频在线| 亚洲精品午夜国产va久久成人| 亚洲色图综合网| 国产精品乱码久久久久久| 欧美极品jizzhd欧美18| 欧美日韩精品一区二区三区在线观看| 国产一区你懂的| 国产精品久久久久久在线| 九九九视频在线观看| 少妇人妻偷人精品一区二区| 欧美电影在线观看完整版| 日日摸夜夜添夜夜添亚洲女人| 亚欧洲精品视频在线观看| 亚洲美免无码中文字幕在线| 毛片免费在线| 久久不卡日韩美女| 亚洲精品wwww| 国产综合亚洲精品一区二| 性欧美视频videos6一9| 厕沟全景美女厕沟精品| 国内精品久久久久久久久久| 一本色道综合久久欧美日韩精品| 国产sm主人调教女m视频| 亚洲成a天堂v人片| 精品欧美一区二区三区在线观看| 久久不见久久见中文字幕免费| 午夜影院韩国伦理在线| 黑人巨大精品欧美黑白配亚洲| 自拍偷自拍亚洲精品被多人伦好爽| 洋洋成人永久网站入口| 一区二区视频观看| 中文字幕一区2区3区| 91视频在线| 国产精品乱码久久久久久| 91精品免费在线| 欧美在线观看网站| 毛片基地在线观看| caopeng视频| 久久人人超碰精品| 爽好多水快深点欧美视频| 欧美亚洲免费高清在线观看| 国产嫩草一区二区三区在线观看| 欧美不卡一区二区三区| 色999久久久精品人人澡69| 日韩久久精品成人| 黄色av网址在线播放| 日本sm极度另类视频| 英国三级经典在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 国产福利小视频在线| 最近中文字幕无免费| 制服丨自拍丨欧美丨动漫丨| 欧美成人综合一区| 亚洲图片欧美综合| 欧美日韩卡一| 一道本在线视频| 韩国一区二区电影| 一级片免费在线播放| 久久人人爽av| 91麻豆免费在线观看| 欧美精品v日韩精品v韩国精品v| 欧美一区二区三区免费观看| 黄色动漫网站| 91国产在线免费观看| www日本高清视频| 国产精品视频男人的天堂| 天堂av免费在线| 69精品无码成人久久久久久| 午夜成人亚洲理伦片在线观看| 精品国产99国产精品| 国产日韩电影| 3d蒂法精品啪啪一区二区免费| 91久久久久国产一区二区| 欧美亚洲成人网| 人妻少妇精品视频一区二区三区| 妞干网在线观看视频| 97超超碰碰| 黄色动漫在线免费观看| 永久免费在线观看视频| 午夜欧美视频在线观看| 亚洲大黄网站| 国产成人综合网站| 老司机午夜精品视频在线观看| 欧美三级视频在线| www.久久久久久久久久久| 久久天天躁夜夜躁狠狠躁2022| 国产精品日韩一区| 丝袜在线观看| 911国产精品| 欧美一区二区在线免费观看| 亚洲成人精品久久| bl视频在线免费观看| 欧美一级大片免费看| 国产日韩高清一区二区三区在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久精品国产**网站演员| 久久久久在线观看| 91片黄在线观看喷潮| 爱情岛论坛亚洲入口| 99精品国产一区二区三区2021| 欧美一区二区影院| 国产精品最新在线观看| 午夜在线一区| 18禁男女爽爽爽午夜网站免费| h七七www色午夜日本| 国产精品一品二区三区的使用体验| 欧美特大特白屁股xxxx| 天堂va在线| 在线观看欧美理论a影院| 亚洲欧美国内爽妇网| 在线观看免费视频综合| 在线观看日韩av电影| 久久国产精品-国产精品| 国产精品免费在线免费| 美女免费观看一区二区三区| 亚洲成人天堂网| 亚洲精品成人久久久998| 99视频免费播放| 国产一区二区精品福利地址| 久久精品无码一区二区日韩av| 国产精品毛片一区二区三区四区| 在线中文字幕一区二区| 在线视频这里只有精品| 狠狠操夜夜操| 白白色亚洲国产精品| 精品久久人妻av中文字幕| 精品久久久久一区二区国产| 91九色视频在线观看| 2020国产精品| 欧美午夜电影一区| 国产极品尤物在线| 91麻豆精品久久久久蜜臀| 一本久道高清无码视频| 成人欧美视频在线| 影音先锋黄色网址| 一区二区成人国产精品| 亚洲免费视频网| 99re国产| 亚洲最大天堂网| 456成人影院在线观看| 成人9ⅰ免费影视网站| 中文在线视频观看| 久久精品国产一区| 久久99伊人| 影音先锋中文字幕第一页| 久久久久亚洲精品一区二区三区| 国产男女在线观看| 国产高清视频色在线www| 亚洲一区二区三区高清不卡| 椎名由奈jux491在线播放| 亚洲精选91| 色图在线观看| 一二三四日本在线| 国产91久久精品一区二区| h片在线免费| av一二三不卡影片| 国产精品美女久久久| 精品国产第一福利网站|