python 爬虫学习模拟登陆

# coding=utf-8
import HTMLParser  
import urlparse  
import urllib  
import urllib2  
import cookielib  
import string  
import re  



#设置一个cookie处理器,它负责从服务器下载cookie到本地,并且在发送请求时带上本地的cookie  
def initCookies(hosturl):
    cj = cookielib.LWPCookieJar()  
    cookie_support = urllib2.HTTPCookieProcessor(cj)  
    opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)  
    urllib2.install_opener(opener)  
    #打开登录主页面(他的目的是从页面下载cookie,这样我们在再送post数据时就有cookie了,否则发送不成功) 
    h = urllib2.urlopen(hosturl) 

def getHtml(url,username,password):
    #构造header,一般header至少要包含一下两项。这两项是从抓到的包里分析得出的。  
    headers = {'User-Agent' : ' Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36',  
               'Referer' : 'http://fanfou.com'}  
    #构造Post数据,他也是从抓大的包里分析得出的。  
    postData = { 
                'loginname'  :  username,
                'loginpass'   : password,
                'action'  : 'login',
                #'token'  :  'af7b1135'
                }  

    #需要给Post数据编码  
    postData = urllib.urlencode(postData)  
    #通过urllib2提供的request方法来向指定Url发送我们构造的数据,并完成登录过程  
    request = urllib2.Request(posturl, postData, headers)  
    response = urllib2.urlopen(request)  
    text = response.read()  
    return text

if __name__=="__main__":
    posturl = 'http://fanfou.com/login'
    username='****@qq.com'
    password='*****'
    initCookies(posturl)
    print 'begin login..'
    print getHtml(posturl,username,password)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值