Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Glassdoor API_Python_Api - Fatal编程技术网

Python Glassdoor API

Python Glassdoor API,python,api,Python,Api,我试图从Python中的API获取glassdoor数据: import urllib2 id1 = 'x' key = 'y' action = 'employers' company = 'company' basepath = 'http://api.glassdoor.com/api/api.htm?v=1&format=json&t.p=' url = basepath + id1 + '&t.k=' + key + '&action=' + act

我试图从Python中的API获取glassdoor数据:

import urllib2

id1 = 'x'
key = 'y'
action = 'employers'
company = 'company'

basepath = 'http://api.glassdoor.com/api/api.htm?v=1&format=json&t.p='
url = basepath + id1 + '&t.k=' + key + '&action=' + action + '&q=' + company + '&userip=192.168.43.42&useragent=Mozilla/5.0'

response = urllib2.urlopen(url)
html = response.read()
我得到了以下错误:

>>> response = urllib2.urlopen(url)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "//anaconda/lib/python2.7/urllib2.py", line 437, in open
    response = meth(req, response)
  File "//anaconda/lib/python2.7/urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "//anaconda/lib/python2.7/urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "//anaconda/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "//anaconda/lib/python2.7/urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
响应=urllib2.urlopen(url) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“//anaconda/lib/python2.7/urllib2.py”,urlopen中的第154行 返回opener.open(url、数据、超时) 文件“//anaconda/lib/python2.7/urllib2.py”,第437行,打开 响应=方法(请求,响应) http_响应中的文件“//anaconda/lib/python2.7/urllib2.py”,第550行 “http”、请求、响应、代码、消息、hdrs) 文件“//anaconda/lib/python2.7/urllib2.py”,第475行出错 返回自我。调用链(*args) 文件“//anaconda/lib/python2.7/urllib2.py”,第409行,在调用链中 结果=func(*args) 文件“//anaconda/lib/python2.7/urllib2.py”,第558行,默认为http\u error\u raise HTTPError(请求获取完整url(),代码,消息,hdrs,fp) urllib2.HTTPError:HTTP错误403:禁止 有人能帮忙吗


感谢

下面是通过添加BeautifulSoup模块并在
hdr
变量中设置用户代理而改进的工作代码

import urllib2, sys
from BeautifulSoup import BeautifulSoup

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)
soup = BeautifulSoup(response)
希望有帮助,谢谢