Python入门小练习 003 利用cookielib模拟登录获取账户信息

 

为了方便, 使用chinaunix的账户获取账户主题. 有些网站可能需要验证码,  找一些不用验证码的网站

下面 ****** 很多个星号的均为私密信息, 所以用星号代替

#!/usr/bin/python
# -*- encoding:utf-8 -*-

import urllib
import urllib2
import cookielib
import re
import chardet      #判断字符串编码的包,用法为 charset.detect(str)  详细示例 http://www.cnblogs.com/zhanhg/p/4392089.html

filename = 'cookie.txt'
#声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(filename)

#handler = urllib2.HTTPCookieProcessor(Cookie)
#opener = urllib2.build_opener(handler)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))

postdata = urllib.urlencode({
    'stuid':'*******',
    'pwd':'*******'
    })

#登录chinaunix的url链接
loginurl = 'http://bbs.chinaunix.net/member.php?mod=logging&action=login&logsubmit=yes'

#模拟登录,把cookie保存到变量
result = opener.open(loginurl,postdata)

#保存cookie到cookie.txt文件中
cookie.save(ignore_discard=True, ignore_expires=True)

#查询的链接
gradeurl = 'http://bbs.chinaunix.net/home.php?m*********************'

result = opener.open(gradeurl)
html = result.read()

reg = r'<a href\=\"thread.*?" >(.*?)</a>'
a = re.findall(reg,html)
for x in a:
    print(x.decode('gb2312'))

 

posted @ 2015-04-04 14:49  牧歌-  阅读(249)  评论(0编辑  收藏  举报