不幸的是我收到错误: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的新人)。
答案 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)