ptyhon爬虫之模拟网络登录cookie

这里写目录标题

  • 代码登录
    • 登录参数
      • 发送登录请求POST 使用cookiejar保存
        • 带着cookie请求网址
          • 代码展示

代码登录

这个是我们登录的网址https://www.yaozh.com/login
打开F12进行勾选
ptyhon爬虫之模拟网络登录cookie_第1张图片
这个勾上的作用:在登录之后还可以存放上个网页的数据
首先我们先进行登录

登录参数

ptyhon爬虫之模拟网络登录cookie_第2张图片
这里就是我们想要的参数

发送登录请求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))


你可能感兴趣的:(python,python,cookie)