python網絡爬蟲 - 如何偽裝逃過反爬蟲程序


有的時候,我們本來寫得好好的爬蟲代碼,之前還運行得Ok, 一下子突然報錯了。

報錯信息如下:

Http 800 Internal internet error

這是因為你的對象網站設置了反爬蟲程序,如果用現有的爬蟲代碼,會被拒絕。

 

之前正常的爬蟲代碼如下:

from urllib.request import urlopen
...
html = urlopen(scrapeUrl)
bsObj = BeautifulSoup(html.read(), "html.parser")

 

這個時候,需要我們給我們的爬蟲代碼做下偽裝,

給它添加表頭偽裝成是來自瀏覽器的請求

 

修改后的代碼如下:

import urllib.parse
import urllib.request
from bs4 import BeautifulSoup
...
req = urllib.request.Request(scrapeUrl)
req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)') 
response = urllib.request.urlopen(req)  
html = response.read()
    
bsObj = BeautifulSoup(html, "html.parser")

Ok,一切搞定,又可以繼續爬了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM