1 簡(jiǎn)介


          對(duì)于一些有一定規(guī)?;蛴再|(zhì)比較強(qiáng)的網(wǎng)站,幾乎都會(huì)做一些防爬措施,防爬措施一般來說有兩種:一種是做身份驗(yàn)證,直接把蟲子擋在了門口,另一種是在網(wǎng)站設(shè)置各種反爬機(jī)制,讓蟲子知難而返。

          2 偽裝策略

          我們知道即使是一些規(guī)模很小的網(wǎng)站通常也會(huì)對(duì)來訪者的身份做一下檢查,如驗(yàn)證請(qǐng)求
          Headers,而對(duì)于那些上了一定規(guī)模的網(wǎng)站就更不用說了。因此,為了讓我們的爬蟲能夠成功爬取所需數(shù)據(jù)信息,我們需要讓爬蟲進(jìn)行偽裝,簡(jiǎn)單來說就是讓爬蟲的行為變得像普通用戶訪問一樣。

          2.1 Request Headers問題

          為了演示我使用百度搜索 163郵箱



          使用 F12 工具看一下請(qǐng)求信息



          在上圖中,我們可以看到 Request Headers 中包含 Referer 和 User-Agent 兩個(gè)屬性信息,Referer
          的作用是告訴服務(wù)器該網(wǎng)頁(yè)是從哪個(gè)頁(yè)面鏈接過來的,User-Agent 中文是用戶代理,它是一個(gè)特殊字符串頭,作用是讓服務(wù)器能夠識(shí)別用戶使用的操作系統(tǒng)、CPU
          類型、瀏覽器等信息。通常的處理策略是:1)對(duì)于要檢查 Referer 的網(wǎng)站就加上;2)對(duì)于每個(gè) request 都添加 User-Agent。

          2.2 IP限制問題

          有時(shí)我們可能會(huì)對(duì)一些網(wǎng)站進(jìn)行長(zhǎng)期或大規(guī)模的爬取,而我們?cè)谂廊r(shí)基本不會(huì)變換 IP,有的網(wǎng)站可能會(huì)監(jiān)控一個(gè) IP
          的訪問頻率和次數(shù),一但超過這個(gè)閾值,就可能認(rèn)作是爬蟲,從而對(duì)其進(jìn)行了屏蔽,對(duì)于這種情況,我們要采取間歇性訪問的策略。

          通常我們爬取是不會(huì)變換 IP 的,但有時(shí)可能會(huì)有一些特殊情況,要長(zhǎng)時(shí)間不間斷對(duì)某網(wǎng)站進(jìn)行爬取,這時(shí)我們就可能需要采用 IP
          代理的方式,但這種方式一般會(huì)增加我們開銷,也就是可能要多花錢。

          3 總結(jié)

          有些時(shí)候我們進(jìn)行爬取時(shí) Request Headers
          什么的已經(jīng)做好了偽裝,卻并未得到如愿以償?shù)慕Y(jié)果,可能會(huì)出現(xiàn)如下幾種情況:得到的信息不完整、得到不相關(guān)的信息、得不到信息,這種情況我們就需要研究網(wǎng)站的防爬機(jī)制,對(duì)其進(jìn)行詳細(xì)分析了。常見的幾種我列一下:

          1)不規(guī)則信息:網(wǎng)址上會(huì)有一些沒有規(guī)則的一長(zhǎng)串信息,這種情況通常采用 selenium(模擬瀏覽器,效率會(huì)低一些) 解決;
          2)動(dòng)態(tài)校驗(yàn)碼:比如根據(jù)時(shí)間及一些其他自定義規(guī)則生成,這種情況我們就需要找到其規(guī)則進(jìn)行破解了;
          3)動(dòng)態(tài)交互:需要與頁(yè)面進(jìn)行交互才能通過驗(yàn)證,可以采用 selenium 解決;
          4)分批次異步加載:這種情況獲取的信息可能不完整,可以采用 selenium 解決。

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                干熟女| 欧美一区二区三区精品 | chinese国产惩罚打屁股 | chinesefreehdxxxx高潮 | 大鸡吧插逼逼 |