<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【爬蟲實(shí)戰(zhàn)】一起一步步分析亞馬遜的反爬蟲機(jī)制

          共 2545字,需瀏覽 6分鐘

           ·

          2021-06-30 20:24

          事情是這樣的

          亞馬遜是全球最大的購物平臺

          很多商品信息、用戶評價(jià)等等都是最豐富的。

          今天,手把手帶大家,越過亞馬遜的反爬蟲機(jī)制

          爬取你想要的商品、評論等等有用信息

          反爬蟲機(jī)制

          但是,我們想用爬蟲來爬取相關(guān)的數(shù)據(jù)信息時(shí)

          像亞馬遜、TBao、JD這些大型的購物商城

          他們?yōu)榱吮Wo(hù)自己的數(shù)據(jù)信息,都是有一套完善的反爬蟲機(jī)制的

          先試試亞馬遜的反爬機(jī)制

          我們用不同的幾個(gè)python爬蟲模塊,來一步步試探

          最終,成功越過反爬機(jī)制。

          一、urllib模塊

          代碼如下:

          # -*- coding:utf-8 -*-import urllib.requestreq = urllib.request.urlopen('https://www.amazon.com')print(req.code)


          返回結(jié)果:狀態(tài)碼:503。

          分析:亞馬遜將你的請求,識別為了爬蟲,拒絕提供服務(wù)。

          本著科學(xué)嚴(yán)謹(jǐn)?shù)膽B(tài)度,我們拿萬人上的百度試一下。

          返回結(jié)果:狀態(tài)碼 200

          分析:正常訪問

          那說明,urllib模塊的請求,被亞馬遜識別為爬蟲,并拒絕提供服務(wù)

          二、requests模塊

          1、requests直接爬蟲訪問

          效果如下 ↓ ↓ ↓

          代碼如下 ↓ ↓ ↓

          import requestsurl='https://www.amazon.com/KAVU-Rope-Bag-Denim-Size/product-reviews/xxxxxx'r = requests.get(url)print(r.status_code)


          返回結(jié)果:狀態(tài)碼:503。

          分析:亞馬遜同樣拒絕了requsets模塊的請求

          將其識別為了爬蟲,拒絕提供服務(wù)。

          2、我們給requests加上cookie

          加上請求cookie等相關(guān)信息

          效果如下 ↓ ↓ ↓

          代碼如下 ↓ ↓ ↓

          import requests
          url='https://www.amazon.com/KAVU-Rope-Bag-Denim-Size/product-reviews/xxxxxxx'web_header={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0','Accept': '*/*','Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2','Accept-Encoding': 'gzip, deflate, br','Connection': 'keep-alive','Cookie': '你的cookie值','TE': 'Trailers'}r = requests.get(url,headers=web_header)print(r.status_code)


          返回結(jié)果:狀態(tài)碼:200

          分析:返回狀態(tài)碼是200了,正常了,有點(diǎn)爬蟲那味了。

          3、檢查返回頁面

          我們通過requests+cookie的方法,得到的狀態(tài)碼為200

          目前至少被亞馬遜的服務(wù)器正常提供服務(wù)了

          我們將爬取的頁面寫入文本中,通過瀏覽器打開。

          我踏馬...返回狀態(tài)是正常了,但返回的是一個(gè)反爬蟲的驗(yàn)證碼頁面。

          還是 被亞馬遜給擋住了。

          三、selenium自動(dòng)化模塊

          相關(guān)selenium模塊的安裝

          pip install selenium


          代碼中引入selenium,并設(shè)置相關(guān)參數(shù)

          import osfrom requests.api import optionsfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Options
          #selenium配置參數(shù)options = Options()#配置無頭參數(shù),即不打開瀏覽器options.add_argument('--headless')#配置Chrome瀏覽器的selenium驅(qū)動(dòng) chromedriver="C:/Users/pacer/AppData/Local/Google/Chrome/Application/chromedriver.exe"os.environ["webdriver.chrome.driver"] = chromedriver#將參數(shù)設(shè)置+瀏覽器驅(qū)動(dòng)組合browser = webdriver.Chrome(chromedriver,chrome_options=options)


          測試訪問

          url = "https://www.amazon.com"print(url)#通過selenium來訪問亞馬遜browser.get(url)


          返回結(jié)果:狀態(tài)碼:200

          分析:返回狀態(tài)碼是200了,訪問狀態(tài)正常,我們再看看爬到的網(wǎng)頁信息。

          將網(wǎng)頁源碼保存到本地

          #將爬取到的網(wǎng)頁信息,寫入到本地文件fw=open('E:/amzon.html','w',encoding='utf-8')fw.write(str(browser.page_source))browser.close()fw.close()


          打開我們爬取的本地文件,查看 ,

          我們已經(jīng)成功越過了反爬蟲機(jī)制,進(jìn)入到了Amazon的首頁

          結(jié)局

          通過selenium模塊,我們可以成功的越過

          亞馬遜的反爬蟲機(jī)制。


          來源:https://juejin.cn/post/6974300157126901790

          聲明:文章著作權(quán)歸作者所有,如有侵權(quán),請聯(lián)系小編刪除

          搜索下方加老師微信

          老師微信號:XTUOL1988切記備注學(xué)習(xí)Python

          領(lǐng)取Python web開發(fā),Python爬蟲,Python數(shù)據(jù)分析,人工智能等精品學(xué)習(xí)課程。帶你從零基礎(chǔ)系統(tǒng)性的學(xué)好Python!

          *聲明:本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來源信息有誤或侵犯權(quán)益,請聯(lián)系我們刪除或授權(quán)


          瀏覽 114
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  在线免费观看黄色视频网站 | 久久久少妇 | 大鸡巴干的不要不要的视频 | 成人自拍偷拍视频在线 | 天天日天天噜 |