最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

python爬蟲必學(xué)工具--requests

2023-03-07 00:44 作者:Crossin的編程教室  | 我要投稿

注意看,這個男人叫小帥,曾是云計(jì)算平臺 Heroku 的 Python 架構(gòu)師,一度是 Github 上 Python 排行榜第一的用戶(stars 超過 google、tensorflow、django 等賬號)。

他有一段從技術(shù)肥宅逆襲成為文藝高富帥的勵志經(jīng)歷。

再看他的個人主頁 www.kennethreitz.org 上的標(biāo)簽:

除了程序員,還有攝影師、音樂家、演講者……不怪在社交媒體上被稱為“程序員屆的網(wǎng)紅”。

他就是 Kenneth Reitz。

然而,作為一個嚴(yán)肅的技術(shù)號,今天我們不是要八卦他的開掛人生,而是要介紹他的代表作品:Requests


大家好,歡迎來到 Crossin的編程教室 !

Requests 自我定義為?HTTP for Humans讓 HTTP 服務(wù)人類,或者說最人性化的 HTTP。言外之意,之前的那些 HTTP 庫太過繁瑣,都不是給人用的。(urllib 表示:怪我咯?。?/p>

盡管聽上去有些自大,但實(shí)際上它的的確確配得上這個評價(jià),用過的都說好。我在文首搬出它的網(wǎng)紅作者,其實(shí)也僅僅是想吸引下你的眼球,然后告訴你,這真的是一個非常值得使用的庫。“提升8倍”雖是我胡謅的數(shù)據(jù),開發(fā)效率的提升卻是杠杠滴。

我們先來看看它官網(wǎng)上的說法:

其他同樣非常值得推薦的東西,如 PyCharm、Anaconda 等,我在推薦完之后往往得寫上一些教程,并在后續(xù)不斷解答使用者的問題。

而 Requests 卻不同,它提供了官方中文文檔,其中包括了很清晰的“快速上手”和詳盡的高級用法和接口指南。以至于我覺得再把文檔里面內(nèi)容搬運(yùn)過來都是一種浪費(fèi)。對于 Requests,要做的僅僅是兩件事:

  1. 告訴你有這樣一個工具,用來開發(fā)爬蟲很輕松

  2. 告訴你它的官方文檔很好,你去讀就可以了

到此為止,本篇的目的已經(jīng)達(dá)到。不過為了更有說服力,以及照顧到一些暫時(shí)還不需要但以后可能會去看的同學(xué),我還是再啰嗦幾句,演示下 Requests 的威力。

安裝

即可

請求網(wǎng)頁

只需一行代碼就可以完成 HTTP 請求。然后輕松獲取狀態(tài)碼、編碼、內(nèi)容,甚至按 JSON 格式轉(zhuǎn)換數(shù)據(jù)。雖然這種簡單請求用別的庫也不復(fù)雜,但其實(shí)在內(nèi)部,Requests 已幫你完成了添加 headers、自動解壓縮、自動解碼等操作。寫過課程中“查天氣”的同學(xué),很可能踩過 gzip 壓縮的坑,用 Requests 就不存在了。如果你發(fā)現(xiàn)獲取的內(nèi)容編碼不對,也只需要直接給 encoding 賦值正確的編碼后再訪問 text,就自動完成了編碼轉(zhuǎn)換,非常方便。

想要下載一張圖片

把返回結(jié)果的 content 保存在文件里就行了。

提交一個?POST 請求,同時(shí)增加請求頭、cookies、代理等信息(此處使用的代理地址不是真實(shí)的,測試代碼時(shí)需去掉):

上述幾個配置,如果使用自帶的 urllib 庫,代碼要增加不少。

有時(shí)我們做爬蟲時(shí),需要保持 cookie 一致,比如登錄后才可訪問的頁面。用?Session 會話對象就可以實(shí)現(xiàn):

另外提兩個常見小問題:
一個是關(guān)于?SSL,也就是 https 證書的問題。如果碰到 HTTPS 證書無效導(dǎo)致無法訪問的錯誤,可以嘗試加參數(shù)?verify=False?忽略:

另一個是對于設(shè)置了自動跳轉(zhuǎn)的頁面,默認(rèn)會跟隨跳轉(zhuǎn)(但僅限于控制域名跳轉(zhuǎn),無法跟隨 js 跳轉(zhuǎn)),也可以加參數(shù)?allow_redirects=False?禁止:

上面兩個例子,把參數(shù)去掉試試看效果。

其他更多詳細(xì)內(nèi)容不多說了,中文官網(wǎng)地址?

requests.readthedocs.io/projects/cn/zh_CN/latest/

順著看一遍,寫一遍,你就掌握這個爬蟲神器了。

對了,作者還寫了一個庫叫?Requests-HTML: HTML Parsing for Humans,用來對抓取到的 HTML 文本進(jìn)行處理,現(xiàn)在也有一萬多 starts。這是要把 bs4 也一并干掉的節(jié)奏啊。

我們編程教室的不少演示項(xiàng)目也都使用了 Requests 庫,歡迎來 Crossin的編程教室 了解詳情。

感謝三連的各位~

python爬蟲必學(xué)工具--requests的評論 (共 條)

分享到微博請遵守國家法律
南平市| 视频| 淄博市| 德兴市| 丽水市| 宝应县| 保德县| 若羌县| 屏东市| 屯门区| 黄陵县| 绩溪县| 沛县| 阿克| 九龙县| 平远县| 民县| 广平县| 威信县| 潜江市| 溧水县| 万荣县| 汶川县| 舒城县| 北辰区| 平南县| 瓦房店市| 六盘水市| 安庆市| 姚安县| 徐州市| 丹阳市| 县级市| 郯城县| 玉屏| 莲花县| 顺昌县| 余姚市| 綦江县| 定安县| 墨玉县|