一个Pythoner的自我修养系列是Python中文社区网友的投稿文章,欢迎大家踊跃投稿,文章主要内容为您在工作中、学习中碰到的Python难题、心得、有趣的项目等,您也可以直接扔代码过来由我们后期编辑,文章可署名,可附带自我介绍,可征女友男友、可征婚......文章赞赏所得归作者所有,文章将同步至Python中文社区微信公众号、知乎专栏、简书等各大网络平台
投稿请寄:sinoandywong@gmail.com,大家共同学习,共同进步。本期文章由@黑白授权发布,版权所有,感谢作者分享。
作者:Python中文社区网友@黑白
1. 程序环境安装及运行
$ pip install virtualenv
$ virtualenv ENV2.7
$ pip install numpy
$ pip install pandas
$ pip install chardet
$ sudo apt-get install libxml2-dev libxslt-dev python-dev
$ sudo apt-get install zlib1g-dev
$ pip install pyquery
$ python football_spider.py
try:
# 创建MozillaCookieJar实例对象
cookie = cookielib.MozillaCookieJar()
# 从文件中读取cookie内容到变量
cookie.load(cookie_name,ignore_discard=True,ignore_expires=True)
print "有cookie"
except:
# 获取cookie用的链接
login_url='http://lq3.win007.com/nba_big.htm'
# 声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(cookie_name)
# 利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
handler = urllib2.HTTPCookieProcessor(cookie)
# 通过handler来构建opener
opener = urllib2.build_opener(handler)
req = urllib2.Request(login_url,headers=hds[random.randint(1, 10)%len(hds)])
# 创建一个请求,原理同urllib2的urlopen
opener.open(req).read()
# 保存cookie到文件
cookie.save(ignore_discard=True,ignore_expires=True)
# 从文件中读取cookie内容到变量 cookie.load(cookie_name,ignore_discard=True,ignore_expires=True)
print "首次生成cookie"
# 创建请求的request
req=urllib2.Request(url,headers=hds[random.randint(1,10)%len(hds)])
# 利用urllib2的build_opener方法创建一个opener
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
plain_text = opener.open(req).read()
if chardet.detect(plain_text[0:1000])['encoding']=='GB2312':
#如果网页编码是GB2312则转码为GBK,默认为utf-8
plain_text = unicode(plain_text,'GBK')
return gzdecode(plain_text)