学习笔记 文章目录 cookie模拟登陆 获取cookie 爬取我的简介 cookie模拟登陆 有的时候,我们想要抓取一个网站,但是需要先登录才能访问它,如果不输入用户名
学习笔记
文章目录
- cookie模拟登陆
- 获取cookie
- 爬取我的简介
cookie模拟登陆
有的时候,我们想要抓取一个网站,但是需要先登录才能访问它,如果不输入用户名和密码,我们就会一直停留在登录页面。
那我们该如何抓取呢?
这时,我们可以用cookie模拟登录。
获取cookie
我们以猫耳FM为例,咳咳咳,不知道有没有小伙伴玩猫耳啊,咳咳咳。
我先进入网站首页,同时开启网络抓包(右键打开审查元素–>点击Network–>点击All),再登录我的账号,最后截取携带登录信息的cookie的数据包:
数据包中的Request Headers信息:
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8accept-encoding:gzip, deflate, br
accept-language:zh-CN,zh;q=0.9
cookie:Hm_lvt_91a4e950402ecbaeb38bd149234eb7cc=1588057449; Hm_lpvt_91a4e950402ecbaeb38bd149234eb7cc=1588059525; MSESSID=ss0bkgssd754dmosq13phbh7h6; token=5ea7ddff051cbec5bd6d1fd4%7Caef97ce98517a012%7C1588059647%7Cb46af3e345721caa; SERVERID=832fef4323c87b883d6becf9932943f1|1588059647|1588057447
referer:https://www.missevan.com/member/login
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
爬取我的简介
现在,我想获取我的主页中的简介:
我创建一个py文件,专门放我的请求头信息。
my_headers.py
headers = {"accept":"image/webp,image/apng,image/*,*/*;q=0.8",
"accept-language":"zh-CN,zh;q=0.9",
"cookie":"Hm_lvt_91a4e950402ecbaeb38bd149234eb7cc=1588057449; Hm_lpvt_91a4e950402ecbaeb38bd149234eb7cc=1588059525; MSESSID=ss0bkgssd754dmosq13phbh7h6; token=5ea7ddff051cbec5bd6d1fd4%7Caef97ce98517a012%7C1588059647%7Cb46af3e345721caa; SERVERID=832fef4323c87b883d6becf9932943f1|1588059647|1588057447",
"referer":"https://www.missevan.com/member/login",
"user-agent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
}
python爬虫代码:
# -*- coding: utf-8 -*-import requests
import my_headers
from lxml import etree
url = 'https://www.missevan.com/mperson/homepage'
xpath = '//*[@id="t_u_n_a"]/text()'
html = requests.get(url = url, headers = my_headers.headers).content.decode('utf-8')
parse_html = etree.HTML(html)
profit = parse_html.xpath(xpath)
print('简介:', profit)
输出:
简介: ['\n 我是山羊的简介 ']
成功GET!
后记:如果我在浏览器上退出猫耳FM的登录了,程序即使带有cookie也会无法访问到我们要的HTML页面。如果我们保持浏览器的登录状态,但是headers中不写cookie,也无法获取到我们想要爬取的简介。
总之,就是出现了上面两种状况,我现在有点迷。