python爬虫实战之Headers信息校验-Cookie

liftword2个月前 (02-06)技术文章23

一、什么是cookie

上期我们了解了User-Agent,这期我们来看下如何利用Cookie进行用户模拟登录从而进行网站数据的爬取。

首先让我们来了解下什么是Cookie:

Cookie指某些网站为了辨别用户身份、从而储存在用户本地终端上的数据。当客户端在第一次请求网站指定的首页或登录页进行登录之后,服务器端会返回一个Cookie值给客户端。如果客户端为浏览器,将自动将返回的cookie存储下来。当再次访问改网页的其他页面时,自动将cookie值在Headers里传递过去,服务器接受值后进行验证,如合法处理请求,否则拒绝请求。

二、如何利用cookie

举个例子我们要去微博爬取相关数据,首先我们会遇到登录的问题,当然我们可以利用python其他的功能模块进行模拟登录,这里可能会涉及到验证码等一些反爬手段。

换个思路,我们登录好了,通过开发者工具“右击” 检查(或者按F12) 获取到对应的cookie,那我们就可以绕个登录的页面,利用cookie继续用户模拟操作从而直接进行操作了。

利用cookie实现模拟登录的两种方法:

  • 将cookie插入Headers请求头 Headers={"cookie":"复制的cookie值"}
  • 将cookie直接作为requests方法的参数
cookie={"cookie":"复制的cookie值"}
requests.get(url,cookie=cookie)

三、利用selenium获取cookie,实现用户模拟登录

实现方法:利用selenium模拟浏览器操作,输入用户名,密码 或扫码进行登录,获取到登录的cookie保存成文件,加载文件解析cookie实现用户模拟登录。

from selenium import webdriver
from time import sleep
import json
#selenium模拟浏览器获取cookie
def getCookie:
  driver = webdriver.Chrome()
  driver.maximize_window()
  driver.get('https://weibo.co m/login.php')
  sleep(20) # 留时间进行扫码
  Cookies = driver.get_cookies() # 获取list的cookies
  jsCookies = json.dumps(Cookies) # 转换成字符串保存
  with open('cookies.txt', 'w') as f:
    f.write(jsCookies)
    
def login:
   filename = 'cookies.txt'
   #创建MozillaCookieJar实例对象
   cookie = cookiejar.MozillaCookieJar()
   #从文件中读取cookie内容到变量
   cookie.load(filename, ignore_discard=True, ignore_expires=True)
   response = requests.get('https://weibo.co m/login.php',cookie=cookie)

四、拓展思考

如果频繁使用一个账号进行登录爬取网站数据有可能导致服务器检查到异常,对当前账号进行封禁,这边我们就需要考虑cookie池的引入了。

相关文章

从原理到实战,一份详实的 Scrapy 爬虫教程

来源:早起Python作者:饮马长江大家好,我是早起。之前分享了很多 requests 、selenium 的 Python 爬虫文章,本文将从原理到实战带领大家入门另一个强大的框架 Scrapy。如...

30分钟掌握用Python写网络爬虫,入门到实战教程,黑客入门第一步

在如今的大数据时代,相信大家都对Python一词有所耳闻。而Python爬虫,简单来说,即通过Python程序获取对我们有用的数据。常用于商业分析,不过偶尔也可以辅助我们解决在日常生活中遇到的一些问题...

超级实用!Python爬虫实战攻略_python爬虫最全教程

# 小伙伴们,大家好!今天猿梦家要带大家一起玩转Python爬虫! 爬虫,简单来说,就是用程序自动访问网页并抓取数据的技术。 它就像是一个勤劳的小蜜蜂,在互联网的花海中采集我们需要的信息。话不多说,咱...

从0教你用Python写网络爬虫,内容详细代码清晰,适合入门学习

爬虫是入门Python最好的方式之一,掌握Python爬虫之后再去学习Python其他知识点,会更加地得心应手。当然,用Python爬虫对于零基础的朋友来说还是有一定难度的,那么朋友,你真的会Pyth...

Python爬虫实战,链家二手房数据轻松抓取!

随着大数据时代的到来,数据分析已经成为各行各业的重要竞争力。而数据采集作为数据分析的前置步骤,其重要性不言而喻。今天,我们就来聊聊如何使用Python爬虫技术,轻松抓取链家二手房数据。本文将带你了解爬...

2024,Python爬虫系统入门与多领域实战

载ke程:itzcw.com/9676/2024,Python爬虫系统入门与多领域实战指南摘要:本文将带领读者了解Python爬虫的基本概念、技术构成,并通过多个领域的实战案例,展示Python爬虫在...