urllib2.HTTPError: HTTP Error 400: Bad Request 求帮忙

flasking
  • 65

新手这里,简单的直接抓取一个页面也报错,帮忙看下

url = 'https://xueqiu.com/stock/f10/finmainindex.json'
user_agent = 'Mozilla/5.0'  
values = {'symbol' : 'SZ000001',  'page' : '1','size' : '1' }  
headers = { 'User-Agent' : user_agent }  
data = urllib.urlencode(values)  
print data
request = urllib2.Request(url, data, headers)  
print request
response = urllib2.urlopen(request)  
page = response.read() 
print page 

报错如下,

(flask)[[email protected] xueqiu]# python xueqiu.py 
symbol=SZ000001&page=1&size=1
<urllib2.Request instance at 0x7f7e6b4f81b8>
Traceback (most recent call last):
  File "xueqiu.py", line 22, in <module>
    response = urllib2.urlopen(request)  
  File "/usr/local/pythonbrew/pythons/Python-2.7.10/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/pythonbrew/pythons/Python-2.7.10/lib/python2.7/urllib2.py", line 437, in open
    response = meth(req, response)
  File "/usr/local/pythonbrew/pythons/Python-2.7.10/lib/python2.7/urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/pythonbrew/pythons/Python-2.7.10/lib/python2.7/urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "/usr/local/pythonbrew/pythons/Python-2.7.10/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/local/pythonbrew/pythons/Python-2.7.10/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 400: Bad Request
回复
阅读 11.3k
2 个回答
prolifes
  • 11.2k
✓ 已被采纳
# coding: utf-8

import requests

session = requests.Session()
session.headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}
session.get('https://xueqiu.com')
r = session.get('https://xueqiu.com/stock/f10/finmainindex.json?symbol=SZ000001&page=1&size=1')
print r.text

使用姿势不对歪

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏