【发布时间】:2017-01-04 19:33:00
【问题描述】:
我知道这是一个标头问题,因为如果我从代码中取出标头,那么 html 会吐出我是机器人,但即使添加标头,我也无法弄清楚如何解决此问题。你能给出什么建议?
import requests
from bs4 import BeautifulSoup
#Get the different pages to begin scraping data from
url = "http://www.manta.com/mb_41_ALL_19/louisiana"
headers = { 'Origin':'http://www.manta.com',
'Referer':'http://www.manta.com/mb_41_ALL_19/louisiana',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
, 'Accept-Language':'en-US,en;q=0.8'
,'Content-Type':'text/html; charset=utf-8', 'Host':None,}
newurl = requests.get(url, headers=headers)
soup = BeautifulSoup(newurl.text, "html.parser")
print(soup)
【问题讨论】:
-
他们的 CDN 正在使用浏览器指纹来阻止机器人。它可以通过请求来完成,但这意味着对一些 javascript 进行逆向工程。
标签: python beautifulsoup python-requests