selenium自动获取cookies用于requests做接口请求爬虫

这篇具有很好参考价值的文章主要介绍了selenium自动获取cookies用于requests做接口请求爬虫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、思想

二、代码


         有关爬虫一些报错解决,或是爬虫工具的使用及其他问题的,可以看看我的爬虫专栏:博主_zkkkkkkkkkkkkk的爬虫专栏

一、思想

        selenium可以用来模拟用户操作的python第三方包,而requests则是用来做接口请求。两者一结合,可能在某些方面优于单个包的爬虫。在requests请求时,我们都知道requests是需要headers信息。所以自动获取cookies等headers里关键信息就至关重要,而selenium因为是打开一个浏览器模拟用户操作的特性,使它能够获取到它自己打开的页面cookies。我们使用这个cookies传入requests,然后再使用requests做爬虫即可。

二、代码

        下面一个简单例子来说明(可能有些网站页面是不支持这样的,具体可以自行测试下)文章来源地址https://www.toymoban.com/news/detail-572316.html

from selenium import webdriver
import requests

# selenium启动并打开 http://tpi.zhonju.cn/ 页面
chrome = webdriver.Chrome()
chrome.get('http://tpi.zhonju.cn/')   

# 打印页面cookies信息    是一个dict类型的对象
print(chrome.get_cookies())

# cookies做拼接
cookies_list = [item["name"] + "=" + item["value"] for item in chrome.get_cookies()]
cookies = ';'.join(it for it in cookies_list)
print(cookies)


# 得到cookies后,即可使用requests来做接口爬虫
headers = {
    'Content-Type':'application/json;charset=UTF-8',
    'Cookie':f'{cookies}',
    'Connection':'keep-alive',
    'Accept':'text/html,application/xhtml+xml,application/xml',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'
}
req = requests.get('http://xxx.com/',headers=headers)
# 以文本输出请求结果
print(req.text)
# 以json输出(前提是接口返回结果是json或dict类型的)
print(req.json)
# 以二进制输出
print(req.content)

# 最后关闭selenium打开的页面,cookies也随之失效
chrome.quit()

到了这里,关于selenium自动获取cookies用于requests做接口请求爬虫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java自动登录 selenium 自动登录并获取cookie

    我用的edge,谷歌我的版本太高没有对应的驱动… 下载Edge的驱动程序,直接解压就好里面只有一个.exe文件 https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

    2024年02月08日
    浏览(37)
  • 自动化测试: Selenium 自动登录授权,再 Requests 请求内容

    Selenium 自动登录网站、截图及 Requests 抓取登录后的网页内容。一起了解下吧。 Selenium: 支持 Web 浏览器自动化的一系列工具和库的综合项目。 Requests: 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。   Selenium 实现,相当于模拟用户手动打开浏览器、进行登录的过程。

    2024年01月21日
    浏览(51)
  • 网络请求爬虫【requests】和自动化爬虫【selenium】

    在Python开发的爬虫项目中, requests 和 selenium 是两个常用的库,它们各有特点和应用场景。 相同点 数据抓取: 无论是 selenium 还是 requests ,两者的基本目的都是为了从网络上抓取数据。 自动化: 它们都能够自动化地访问网页,获取需要的信息。 不同点 工作原理: requests 直

    2024年02月20日
    浏览(42)
  • 1.6 实战:Postman请求Get接口-获取用于登录的图形验证码

    上一小节我们学习了Postman的布局,对Postman有了一个整体的认知,本小节我们就来实操一下Get接口。 我们打开Postman,点击我们之前创建的请求”获取登录页验证码“。我们在地址栏里填入获取登录页验证码的接口地址。怎么查看这个接口地址呢?我们打开校园二手交易系统,

    2024年02月04日
    浏览(60)
  • Python接口自动化之request请求封装

    我们在做自动化测试的时候,大家都是希望自己写的代码越简洁越好,代码重复量越少越好。那么,我们可以考虑将request的请求类型(如:Get、Post、Delect请求)都封装起来。这样,我们在编写用例的时候就可以直接进行请求了。 我们先来看一下Get、Post、Delect等请求的源码,

    2024年02月13日
    浏览(46)
  • 接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

    文章目录 前言 一、requests库的使用 二、json和字典的区别 三、后端登录接口-请求数据生成 四、接口自动化-对应电商项目中的功能 五、来自postman的代码-后端登录 总结 记录:json和字典的区别,json和字段的相互转化;postman发送请求与Python中代码发送请求的区别。 安装: p

    2024年02月01日
    浏览(51)
  • 接口自动化测试:Requests统一请求封装(框架的封装)

    一、为什么要做统一请求封装? 1. 去除很多重复的、冗余的代码; 2.  异常处理和日志监控: 设置统一的公共参数、统一的文件处理、统一的异常处理、统一的日志监控、统一的用例断言等; 3. 跨py文件实现通过一个session自动管理有cookie关联的接口;               

    2024年01月24日
    浏览(55)
  • Python接口自动化搭建过程,含request请求封装

    接口测试自动化好处 显而易见的好处就是解放双手😀。 可以在短时间内自动执行大量的测试用例 通过参数化和数据驱动的方式进行测试数据的变化,提高测试覆盖范围 快速反馈测试执行结果和报告 支持持续集成和持续交付的流程 使用Requests+pytest+allure搭建测试框架的目的

    2024年02月07日
    浏览(46)
  • python接口自动化之request请求,如何使用 Python调用 API?

        尊重原创,转载请注明出处,谢谢!!

    2024年02月08日
    浏览(59)
  • 使用Python接口自动化测试post请求和get请求,获取请求返回值

    目录 引言 请求接口为Post时,传参方法  获取接口请求响应数据 我们在做python接口自动化测试时,接口的请求方法有get,post等;get和post请求传参,和获取接口响应数据的方法; 我们在使用python中requests库做接口测试时,在做post接口测试传参的时候,需要传入请求体,我们把

    2024年02月02日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包