日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

嵩天python爬虫_我自己爬-python爬虫快速入门(一)

發(fā)布時間:2024/7/5 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵩天python爬虫_我自己爬-python爬虫快速入门(一) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

request庫

對于輕量級用戶,像我一樣只是準(zhǔn)備寫一個搞笑用的程序,requests是很方便的存在。

安裝通過pip就不說了

request的幾個主要方法

requests.request() 構(gòu)造一個請求,支撐以下各方法的基礎(chǔ)方法

requests.get() 獲取HTML網(wǎng)頁的主要方法,對應(yīng)于HTTP的GET

requests.head() 獲取HTML網(wǎng)頁頭信息的方法,對應(yīng)于HTTP的HEAD

requests.post() 向HTML網(wǎng)頁提交POST請求的方法,對應(yīng)于HTTP的POST

requests.put() 向HTML網(wǎng)頁提交PUT請求的方法,對應(yīng)于HTTP的PUT

requests.patch() 向HTML網(wǎng)頁提交局部修改請求,對應(yīng)于HTTP的PATCH

requests.delete() 向HTML頁面提交刪除請求,對應(yīng)于HTTP的DELETE

這個基本上和http中報文的幾種方法是一致的。

具體可以康康明解http的第三章。小錢錢夠的同學(xué)可以支持一下正版。

get方法

我們主要使用的是get方法(因為只是爬別人)。

requests.get(url, params=None, **kwargs)中。url(統(tǒng)一資源定位符)指訪問的資源的地址,就是你在瀏覽器上面那個欄欄里面輸入的http://www.xxxxxx.com。kwargs用來控制訪問的參數(shù),也是用來控制你網(wǎng)絡(luò)通信中的參數(shù)(可以理解為一個信封的上收信人和郵票這些)。

我們使用get方法

url="https://bing.com/"

res=requests.get(url)

我們?nèi)ヅ廊サ臅r候,通過url使用get方法,是獲得一個request對象去訪問網(wǎng)址資源(響應(yīng)庫名)。

而res是得到一個response對象,包含了幾個屬性

status_code HTTP請求的返回狀態(tài),200表示連接成功,404表示失敗(詳細(xì)見明解http第四章)

text HTTP響應(yīng)內(nèi)容的字符串形式,即url對應(yīng)的頁面內(nèi)容

encoding 從HTTP header中猜測的響應(yīng)內(nèi)容編碼方式

apparent_encoding 從內(nèi)容中分析出的響應(yīng)內(nèi)容編碼方式(備選編碼方式)

content HTTP響應(yīng)內(nèi)容的二進(jìn)制形式

通常如果我們發(fā)現(xiàn)res.txt的顯示有些問題,我們會使用apparent_encoding去解碼結(jié)果。

因為畢竟有可能有失敗所以我們需要使用異常處理來打開。

url="https://bing.com/"

try:

res=requests.get(url)

res.raise_for_status()

res.encoding=res.apparent_encoding

print(res.text[:1000])

except:

print("spider failed")

幾個小實例

基本的爬取

更改agent的方式

有些網(wǎng)站并不想讓你爬所以會限制爬蟲(因為你太老實了,危),像這樣

就返回503了。

這個時候我們就可以動一下小手腳,我們把user-agent這個自報家門的東西換點(默認(rèn)的參數(shù)自報是python爬蟲),我們改成一個瀏覽器的名字‘Mozilla/5.0’,騙一騙它。

這樣我們就繞開了這個小反爬。(僅供娛樂玩家使用,偶爾這么搞一搞)

訪問資源的子部分

比如我們像用搜索引擎查一查某個東西。哪怎么搞呢?

我們?nèi)ケ貞?yīng)搜索了一波‘抗疫感想’,發(fā)現(xiàn)它長這個樣子

那ok了,我們只需要把這串url里面的q=后面的換成我們想要的查就好。

還記得**args這個參數(shù)嗎? 我們往里面加點料,開一個字典search={'q': 'xxx'},到時候它request的時候便會幫我們把參數(shù)p=xxx搞到url上去。

關(guān)于什么能爬什么不能爬

一般很多網(wǎng)站會把什么能爬什么不能爬寫出來。搞一個robots協(xié)議公開給大家看。

我們只要在一個網(wǎng)站url后面加一個/robots.txt就能查看。User-agent: msnbot-media

Disallow: /

Allow: /th?

User-agent: Twitterbot

Disallow:

User-agent: *

Disallow: /account/

Disallow: /amp/

Allow: /api/maps/

取了一小部分,這里可以看到bing的/api/maps/是對所有爬蟲都開放的(allow了),而對/account/這一部分是不允許別人爬的。而對于Twitterbot,不讓爬。

總結(jié)

以上是生活随笔為你收集整理的嵩天python爬虫_我自己爬-python爬虫快速入门(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。