python访问登录后的页面,如药智网:https://www.yaozh.com/,访问登录后的个人中心页面:https://www.yaozh.com/member/
方法一:用浏览器登录后,将cookie复制下来放在请求头中
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0',
'Cookie':cookie # 登录成功后,将cookie放这里
}
member_url = 'https://www.yaozh.com/member/'
response = requests.get(member_url,headers=headers)
data = response.content.decode('utf-8')
print(data)
方法二:用浏览器登录后,将cookie复制下来,请求时放在cookie参数中
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'
}
member_url = 'https://www.yaozh.com/member/'
# 登录成功后的cookie
cookie_str = 'PHPSESSID=qnsmrrvp4o89emp44b1149u7h6; _ga=GA1.2.1639251420.1631436546; _gid=GA1.2.1102071681.1631436546; Hm_lvt_65968db3ac154c3089d7f9a4cbb98c94=1631436547; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217bd94fc20e21-0318edf9a2d5d9-2363163-1327104-17bd94fc20f5c4%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%7D%2C%22%24device_id%22%3A%2217bd94fc20e21-0318edf9a2d5d9-2363163-1327104-17bd94fc20f5c4%22%7D; sajssdk_2015_cross_new_user=1; yaozh_logintime=1631438519; yaozh_jobstatus=kptta67UcJieW6zKnFSe2JyYnoaSaJlllpSYg26qb21rg66flM6bh5%2BscZJpbIXJk5OYlJdumGybnYecpnFuclPNmqSnwKrO0Z5ZnKtslJW9E2C3f3e7fb5b9721C12499c7fd0eb5Fcg5WalGiZaJuYmJlVcqhyZZtbpZzOm4efrHGSa2yFlpiUlZiUb5pnlZ2dklVysg%3D%3Da571eeef28b8e58738f9a181d1eb29f1; db_w_auth=923858%09d1240673769; UtzD_f52b_saltkey=WNsENa7n; UtzD_f52b_lastvisit=1631434920; UtzD_f52b_lastact=1631438520%09uc.php%09'
cookie_dict = {}
# 将cookie_str转化为dict格式
for cookie in cookie_str.split('; '):
cookie_dict[cookie.split('=')[0]] = cookie.split('=')[1]
# 字典推导式
# cookies_dict = {cookie.split('=')[0]:cookie.split('=')[1] for cookie in cookie_str.split('; ')}
response = requests.get(member_url,headers=headers,cookies=cookie_dict) # cookies为字典格式
data = response.content.decode('utf-8')
print(data)
方法三:用代码自动登录,然后带着有效的cookie访问登录后的页面
用到 requests.session 类,可以自动保存cookies,等于cookieJar
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0'
}
session = requests.session()
# 1.代码登录
login_url = 'https://www.yaozh.com/login/'
login_form_data = {
'username': username, # 登录用户名
'pwd': pwd, # 登录密码
'formhash': '99BD9CC480',
'backurl': 'https%3A%2F%2Fwww.yaozh.com%2F'
}
login_resopnse = session.post(login_url, data=login_form_data, headers=headers)
# 2.登录成功后,带着有效的cookie访问member_url
member_url = 'https://www.yaozh.com/member/'
member_data = session.get(member_url, headers=headers).content.decode('utf-8')
print(member_data)