2015-05-26 24 views
3

我試圖從他們的API glassdoor數據在Python:的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 

任何人都可以幫助...?下面

由於

回答

3

是通過將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) 

希望它能幫助,謝謝