zoukankan      html  css  js  c++  java
  • 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'))
  • 相关阅读:
    5402.绝对差不超过限制的最长数组
    快乐数
    无重复字符的最长子串
    数组中数字出现的次数
    盛最多的水
    对角线遍历
    LeetCode第24场周赛
    CSS样式
    笔记
    开关电源设计
  • 原文地址:https://www.cnblogs.com/zhanhg/p/4392216.html
Copyright © 2011-2022 走看看