这个是我们登录的网址https://www.yaozh.com/login
打开F12进行勾选
这个勾上的作用:在登录之后还可以存放上个网页的数据
首先我们先进行登录
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)
'''
获取 个人中心的页面
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))