1. 程式人生 > 其它 >requests實現動態爬取頁面

requests實現動態爬取頁面

  首先,介紹一種反爬機制:UA檢測(User-Agent:請求載體的身份標識):

    入口網站的伺服器會檢測對應請求的載體身份標識,如果到該請求的UA為某瀏覽器,則說明該請求是正常的請求,允許訪問;反之,若檢測到不是某瀏覽器(UA只會有兩種,瀏覽器和爬蟲),則說明該請求是不正常的,可能會拒絕訪問。

  那麼,就會有對應的反反爬策略:UA偽裝:

    讓爬蟲對應的UA偽裝成某一款瀏覽器的UA。

  如何偽裝,通過headers字典,在裡面設定UA值:

    # UA偽裝
    headers = {
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
' }

  此外,由於是動態爬取,所以在url中不能設定具體的引數,那就需要處理url攜帶的引數,封裝到字典中:

url = 'https://www.sogou.com/web'
    # 處理url攜帶的引數,封裝到字典中
    kw = input('enter a word:')
    param = {
        'query':kw
    }

  最後可以看到,在控制檯輸入要搜尋的關鍵字,即可成功爬取: