找到CSDN登录页,
先打开Google审查工具,键入错误用户名密码,登入CSDN,找到合适参数
找到后即可设置,代码如下:
import urllib.parse
import urllib.request
import http.cookiejar
#设置请求头
headers = {
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
'Referer':'https://www.csdn.nejar/'
}
#登录时表单提交到的地址(用开发者工具可以看到)
login_url = 'https://passport.csdn.net/account/verify'
#登录时需要POST的数据,用户名,密码
value = {
'username': '*********',
'password': '*********'
}
#输入的数据需要被转码成bytes
post_data = bytes(urllib.parse.urlencode(value),encoding= 'utf-8')
#初始化一个CookieJar来处理Cookie
cookieJar = http.cookiejar.CookieJar()
cookie_support = urllib.request.HTTPCookieProcessor(cookieJar)
#由cookie构造opener
opener = urllib.request.build_opener(cookie_support)
req = urllib.request.Request(login_url, data=post_data, headers=headers)
resp = opener.open(req)
#登录后才能访问的网页
url = 'https://www.csdn.net/'
#构造访问请求
req = urllib.request.Request(url, headers = headers)
resp = opener.open(req)
print(resp.read().decode('utf-8'))
模拟登陆后页面