Python 3网站在使用User-Agent欺骗时检测到刮刀

时间:2016-11-30 17:24:13

标签: python python-3.x web-scraping urllib user-agent

我正在尝试使用urllib从Indeed.com中获取一些信息。有时,工作链接会被重定向到招聘公司的网页。当发生这种情况时,确实会抛出一些关于使用不兼容的浏览器或设备的HTML,而不是继续重定向的页面。环顾四周之后,我发现在大多数情况下,欺骗urllib的用户代理看起来像浏览器就足以解决这个问题,但这似乎不是这种情况。

有关欺骗用户代理的更多建议吗?是否有可能确实能够实现用户代理被欺骗,并且没有办法解决这个问题?

以下是代码示例:

import urllib
from fake_useragent import UserAgent
from http.cookiejar import CookieJar

ua = UserAgent()

website = 'http://www.indeed.com/rc/clk?jk=0fd52fac51427150&fccid=7f79c79993ec7e60'
req = urllib.request.Request(website)
cj = CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders = [('User-Agent', ua.chrome)]
response = opener.open(req)

print(response.read().decode('utf-8'))

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

此标题通常有效:

HDR = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'}

另一种选择是使用requests包。