很多都說(shuō)python與爬蟲(chóng)就是一對(duì)相戀多年的戀人,二者如膠似漆 ,形影不離" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 行業(yè)動(dòng)態(tài) > 干貨!學(xué)習(xí)python爬蟲(chóng),這里有初學(xué)者一定要掌握的知識(shí),不然你就白學(xué)了

干貨!學(xué)習(xí)python爬蟲(chóng),這里有初學(xué)者一定要掌握的知識(shí),不然你就白學(xué)了

時(shí)間:2022-05-06 13:12:01 | 來(lái)源:行業(yè)動(dòng)態(tài)

時(shí)間:2022-05-06 13:12:01 來(lái)源:行業(yè)動(dòng)態(tài)

Python是近幾年最火熱的編程語(yǔ)言,大家既然看到了爬蟲(chóng)的知識(shí),想必也了解到python。

很多都說(shuō)python與爬蟲(chóng)就是一對(duì)相戀多年的戀人,二者如膠似漆 ,形影不離,你中有我、我中有你,有python的地方絕對(duì)離不開(kāi)爬蟲(chóng),有爬蟲(chóng)的地方,話題永遠(yuǎn)都繞不開(kāi)python。

因?yàn)樾【幰舱趯W(xué)習(xí)python編程,所以花了一周時(shí)間,將關(guān)于python爬蟲(chóng)入門(mén)知識(shí)整理出來(lái)了,這些知識(shí)個(gè)人覺(jué)得是非常重要的,所以希望大家可以收藏起來(lái),不要弄丟哦,畢竟辛苦了這么久。



什么是爬蟲(chóng) 爬蟲(chóng)是一個(gè)程序,這個(gè)程序的目的就是為了抓取萬(wàn)維網(wǎng)信息資源,比如你日常使用的谷歌等搜索引擎,搜索結(jié)果就全都依賴(lài)爬蟲(chóng)來(lái)定時(shí)獲取。

簡(jiǎn)單來(lái)說(shuō),無(wú)論你想獲得哪些數(shù)據(jù),有了爬蟲(chóng)都可以搞定,不論是文字、圖片、視頻,任何結(jié)構(gòu)化非結(jié)構(gòu)化的都能解決。

爬蟲(chóng)模塊 re模塊——正則表達(dá)式模塊:

是用于快速?gòu)囊淮蠖炎址锌焖僬页鱿胍淖幼址囊环N表達(dá)方式,這個(gè)模塊是初學(xué)者必須要弄清楚的,當(dāng)你剛開(kāi)始用的時(shí)候會(huì)覺(jué)得有難度,一旦上手了,你就會(huì)愛(ài)上它,邏輯性是非常強(qiáng)的。

os模塊:

對(duì)文件文本的操作,可以創(chuàng)建文件夾,訪問(wèn)文件夾內(nèi)容等,它會(huì)自適應(yīng)于不同的操作系統(tǒng)平臺(tái),根據(jù)不同的平臺(tái)進(jìn)行相應(yīng)的操作。

比如說(shuō)我們常見(jiàn)的os.name,“name”顧名思義就是“名字”,這里的名字是指操作系統(tǒng)的名字,主要作用是判斷目前正在使用的平臺(tái),也要注意到該命令不帶括號(hào)。

csv模塊:

爬取出來(lái)的數(shù)據(jù)可以以csv的格式保存,可以用office辦公軟件中的Excel表格軟件打開(kāi),所以一般都是用于讀文件、寫(xiě)文件、定義格式。



基礎(chǔ)的抓取操作 Urllib:

是python內(nèi)置的HTTP請(qǐng)求庫(kù),簡(jiǎn)單的例子:

import urllib.request

response = urllib.request.urlopen('https://blog.csdn.net/weixin_43499626')

print(response.read().decode('utf-8'))

Requests:

requests庫(kù)是一個(gè)非常實(shí)用的HTPP客戶端庫(kù),是抓取操作最常用的一個(gè)庫(kù)。

各種請(qǐng)求方式:常用requests.get()和requests.post()

import requests

r = requests.get('https://api.github.com/events')

r1 = requests.get('http://httpbin.org/post',data={'key':'value'})

Requests它會(huì)比urllib更加方便,可以節(jié)約我們大量的工作。



需要登錄的接口 post請(qǐng)求:

直接上代碼,就能看懂的解釋

import requests

url = "http://test"

data = {"key":"value"}

res = requests.post(url=url,data=data)print(res.text)

get請(qǐng)求:

@classmethod

def send_get(cls, url, params, headers):

response = cls.SessionRequest.get(url=url, params=params, headers=headers)

return response.json()

常見(jiàn)的反爬有哪些 從功能上來(lái)講,爬蟲(chóng)一般分為數(shù)據(jù)采集,處理,儲(chǔ)存三個(gè)部分。這里我們只討論數(shù)據(jù)采集部分。

通過(guò)Headers:

反爬蟲(chóng)從用戶請(qǐng)求的Headers反爬蟲(chóng)是最常見(jiàn)的反爬蟲(chóng)策略,果遇到了這類(lèi)反爬蟲(chóng)機(jī)制,可以直接在爬蟲(chóng)中添加Headers,將瀏覽器的User-Agent復(fù)制到爬蟲(chóng)的Headers中;或者將Referer值修改為目標(biāo)網(wǎng)站域名。

基于用戶行為反爬蟲(chóng):

同一IP短時(shí)間內(nèi)多次訪問(wèn)同一頁(yè)面,或者同一賬戶短時(shí)間內(nèi)多次進(jìn)行相同操作。[這種防爬,需要有足夠多的ip來(lái)應(yīng)對(duì)],對(duì)于這種情況,使用IP代理就可以解決??梢詫?zhuān)門(mén)寫(xiě)一個(gè)爬蟲(chóng),爬取網(wǎng)上公開(kāi)的代理ip,檢測(cè)后全部保存起來(lái)。

動(dòng)態(tài)頁(yè)面的反爬蟲(chóng):

上述的幾種情況大多都是出現(xiàn)在靜態(tài)頁(yè)面,還有一部分網(wǎng)站,我們需要爬取的數(shù)據(jù)是通過(guò)ajax請(qǐng)求得到,。首先用Firebug或者HttpFox對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行分析,如果能夠找到ajax請(qǐng)求,也能分析出具體的參數(shù)和響應(yīng)的具體含義,我們就能采用上面的方法,直接利用requests或者urllib2模擬ajax請(qǐng)求,對(duì)響應(yīng)的json進(jìn)行分析得到需要的數(shù)據(jù)。

以上就是小編所整理的關(guān)于爬蟲(chóng)的知識(shí),如果你想要了解到更多python知識(shí),記住關(guān)注小編,或者去“蟻小二”平臺(tái)了解哦~

關(guān)鍵詞:知識(shí),掌握,爬蟲(chóng)

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉