python3爬虫,最短时间实现(四)

代码实现网站的模拟登陆:


# -*- coding: utf-8 -*-



import urllib.request
import urllib
import http.cookiejar
import re


def makeMyOpener(head = {
    'Connection':'Keep-Alive',
    'Accept':'text/html,application/xhtml,*/*',
    'Accept-language':'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3',
    'User-Agent':'Molizlla/5.0(Windows NT 6.3;WOW64;Trident/7.0;rv:11.0)like Gecko',
    }):
    cj = http.cookiejar.CookieJar()
    opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
    header = []
    for key,value in head.items():
        elem = (key,value)
        header.append(elem)


    opener.addheaders = header
    return opener


opener = makeMyOpener()
uop = opener.open('http://www.zhihu.com/')
temp_data = uop.read().decode()
#print(data)
r = re.compile(r'name="_xsrf" value="(.+?)"')
value = r.findall(temp_data)
_xsrf = value[0]


url = 'http://www.zhihu.com/#signin'
id = ''
password = ''
postdict = {
    '_xsrf':_xsrf,
    'email':id,
    'password':password,
    'rememberme':'y'
}
postData = urllib.parse.urlencode(postdict).encode()
op = opener.open(url,postData)
data = op.read()

print(data)



参考如下链接:http://jecvay.com/2014/10/python3-web-bug-series4.html(足够详细)






























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值