ptyhon爬虫之模拟网络登录cookie

代码登录

这个是我们登录的网址https://www.yaozh.com/login
打开F12进行勾选
在这里插入图片描述
这个勾上的作用:在登录之后还可以存放上个网页的数据
首先我们先进行登录

登录参数

在这里插入图片描述
这里就是我们想要的参数

发送登录请求POST 使用cookiejar保存

cook_jar=cookiejar.CookieJar()
# 定义有添加 cook功能的处理器
cook_hanlder=urllib.request.HTTPCookieProcessor(cook_jar)
# 根据处理器生成 operer
opener=urllib.request.build_opener(cook_hanlder)
# 带着参数 发送post请求
login_str=parse.urlencode(login_form_data).encode('utf-8')
login_request=urllib.request.Request(login_url,headers=header,data=login_str)
# 如果登录成功,cookjar自动保存cookie
opener.open(login_request)

带着cookie请求网址
代码展示

'''
    获取 个人中心的页面
    1.代码登录 登录成功cookie(有效)
    2.自动带着cookie 去请求个人中心
    login_cookie=request.get_header('Cookie')
    cookiejar 自动保存这个cookie
'''
import urllib.request
from http import cookiejar
from urllib import  parse
header={
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3765.400 QQBrowser/10.6.4148.400"
}
# 登录之前的 登录面的网址https://www.yaozh.com/login/
# 找登录参数
# 后台 根据你发送的请求方式来判断的 如果你是get(登录页面)如果post(登录结果)
# 1.代码登录
#     1.1登录的网址
login_url='https://www.yaozh.com/login'
# 1.2登录参数
login_form_data={
    "username":"",
    "pwd":"",
    "formhash":"",
    "backurl":""
    '''
    username: 这是你的用户名
    pwd: 这是你的密码
    formhash: 这个是防止js反爬要加上
    backurl: 这个是防止js反爬要加上
    '''

}
# 1.3发送登录请求POST
cook_jar=cookiejar.CookieJar()
# 定义有添加 cook功能的处理器
cook_hanlder=urllib.request.HTTPCookieProcessor(cook_jar)
# 根据处理器生成 operer
opener=urllib.request.build_opener(cook_hanlder)
# 带着参数 发送post请求
login_str=parse.urlencode(login_form_data).encode('utf-8')
login_request=urllib.request.Request(login_url,headers=header,data=login_str)
# 如果登录成功,cookjar自动保存cookie
opener.open(login_request)

# 2.代码带着cooke去访问 个人中心
center_url='https://www.yaozh.com/member'
cneter_request=urllib.request.Request(center_url,headers=header)
response=opener.open(center_url)
data = response.read().decode('utf-8')
with open('03.html','w',encoding='utf-8') as f:
    f.write(str(data))


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值