正常情况下使用urllib2.urlopen 会返回urllib2.HTTPError: HTTP Error 400: Bad Request 错误,需要的cookie 行信息,如果手动填写的话会有过期的问题。 现在终于找到解决办法,用cooklib里面的cookiejar先获取cookie 然后用urlopen就好啦。具体程序看我的python练习档内的jisi2/cookie_get.py文件:https://github.com/hechao/python *** 更新一下,雪球网站的链接http://xueqiu.com/v4/stock/quote.json?code=SH000001%2CSZ399001%2CHKHSI%2CDJI30 是无法直接打开获得cookie的,依然返回400错误。 解决方法就是,所以程序里面先用opener.open打开一下雪球主页,再opener.open这个链接就可以了,应该是传递了cookie的原因, yeah. 改造成一个def了 [python] #! /usr/bin/python #-*- encoding: utf-8 -*- import cookielib, urllib2 def content(index_url): cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) # default User-Agent (‘Python-urllib/2.6’) will *not* work opener.addheaders = [ (‘User-Agent’, ‘Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 […]
Read More