爬虫之常见的反扒
cookies
一般用requests直接请求网址的时候有时候可能会遇到反扒措施,这时候可以考虑一下加上user-agent伪装成浏览器;也可能有登录限制,这时候cookies就有用处了
浏览器中的cookie是保存我们的账号数据和访问记录,在爬取的过程中加上cookie可以增加爬取数据的成功几率
获取cookies有两种方式,一种是requests 获取cookies ;一种是selenium获取cookies
1、requests获取cookies
自动登录原理:人工在浏览器上完成登录操作,获取登录之后的cookie信息,再通过代码发送请求的时候携带cookies信息
requests 获取cookies步骤:
浏览器打开网址——浏览器控制台——network——all——headers——cookie ——将cookies的值复制
import requests
headers = {
'cookie':'.....'
}
resp=requests.get('https://www.zhihu.com/',headers=headers)
print(resp.text)
2、selenium获取cookies
获取自动登录网站的cookies
· 打开需要完成自动登录的网站(需要获取cookie的网站)
· 给足够长的时候让人工完成自动登录并且人工刷新出登录之后的页面
强调:一定要吧第一个页面刷新出登之后的转态
· 获取登录之后的cookie并且将获取到的cookie保存到本地文件
from selenium.webdriver import Chrome
from json import dumps
b = Ch