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'))