Glassdoor API登录不使用Python,响应403 Bots不允许

时间:2017-03-15 15:49:32

标签: python

不幸的是我收到错误:HTTP状态403 - 使用以下Python代码时不允许机器人。

import requests

URL = 'http://api.glassdoor.com/api/api.htm?v=1&format=json&t.p={PartnerID}&t.k={Key}&action=employers&q=pharmaceuticals&userip={IP_address}&useragent=Mozilla/%2F4.0'

response = requests.get(URL)

print(response)

当我从浏览器中尝试URL时,URL确实有效。我可以做些什么来使代码工作?

更新:已解决。

抱歉不以正确的方式发布问题(我是SO的新人)。

1 个答案:

答案 0 :(得分:3)

根据this StackOverflow answer,您需要包含一个标题字段(请注意,此示例使用urllib2而不是请求):

import urllib2, sys
url = "http://api.glassdoor.com/api/api.htm?t.p=yourID&t.k=yourkey&userip=8.28.178.133&useragent=Mozilla&format=json&v=1&action=employers&q="
hdr = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request(url,headers=hdr)
response = urllib2.urlopen(req)

使用requests模块,可能是:

import requests

URL = 'http://api.glassdoor.com/api/api.htm?v=1&format=json&t.p={PartnerID}&t.k={Key}&action=employers&q=pharmaceuticals&userip={IP_address}&useragent=Mozilla/%2F4.0'

headers = {'user-agent': 'Mozilla/5.0'}

response = requests.get(url, headers=headers)

print(response)