Python Glassdoor API

时间:2015-05-26 09:24:23

标签: 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=' + 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

任何人都可以帮忙......?

由于

1 个答案:

答案 0 :(得分:3)

下面是工作代码,通过添加BeautifulSoup模块并在hdr变量中设置User-Agent来进行一些改进。

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)

希望它有所帮助,谢谢