pyppeteer和requests简单应用

pyppeteer和requests简单应用

本文章只是分享pyppeteer技术。有些反扒网站可以使用pyppeteer库,完整代码没有分享。
获取相关开发工具软件,可以关注公众号:爬虫探索者
发送下面图片的关键字可以获取对应软件。sql指的是Navicat
破解教程可以参考主页其他文章。

在这里插入图片描述

运行环境

pip install -i https://mirrors.aliyun.com/pypi/simple pyppeteer
pip install -i https://mirrors.aliyun.com/pypi/simple requests
pip install -i https://mirrors.aliyun.com/pypi/simple lxml

开始的办法

第一次尝试的时候使用普通的requests方法,补充headers获取数据,但是发现最后获取的数据都是假的,今天正好在学习pyppeteer库就尝试了一下。

Pyppeteer的使用

launch:表示打开一个浏览器
newPage:通过返回的browser对象创建页签
setViewPort:设置显示大小
evaluateOnNewDocument:执行JavaScript代码
goto:前往某一个url地址
screenshot:请求之后的内容截图保存

主函数

headless:表示无头模式,设置为False会正常显示页面,默认为True无头模式。
userDataDir:保存登录信息。
args:设置了浏览器显示比例,可以不设置,不过显示的可能不太好看。

async def main():# userDataDir实现用户持久化,保存登录信息,每次运行加载browser = await launch(headless=False, userDataDir='./userdata', args=[f'-window-size={width}, {height}'])page = await browser.newPage()await page.setViewport({'width': width, 'height': height})await page.evaluateOnNewDocument('Object.defineProperty(navigator, "webdriver", {get: () => undefined})')  # 防止检测到await page.goto('股友url')  # 请求的地址await page.screenshot(path='guba.png')  # 截图查看到的信息await page.click('.graylink')  # 模拟点击查看更多await asyncio.sleep(2)  # 第一次运行延长时间,先登录await parse_content(await page.content())  # 调用解析协程,获取对应内容await browser.close()

解析响应内容

async def parse_content(content):html = etree.HTML(content)trs = html.xpath('//table[@class="secontent"]/tbody/tr')for tr in trs:code = tr.xpath('./td/a/text()')[0]name = tr.xpath('./td/a/text()')[1]current_price = tr.xpath('./td/span/text()')[0]die_price = tr.xpath('./td/span/text()')[1]zhang_price = tr.xpath('./td/span/text()')[2]huanshou = tr.xpath('./td[last()-1]/text()')[0]chengjiao = tr.xpath('./td[last()]/text()')[0]print(code, name, current_price, die_price, zhang_price, huanshou, chengjiao)asyncio.get_event_loop().run_until_complete(main())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/817208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty之ByteBuff

1、Jdk自带ByteBuffer 1.1、ByteBuffer简介 事实上,jdk自1.4版本,就已经提供了nio的ByteBuffer,用于在Java程序中操作原始数据。ByteBuffer可以用来读取和写入二进制数据,例如网络传输的数据、文件的内容等。 ByterBuffer的部分…

【大数据】Apache Knox 概述

Apache Knox 概述 1.概述1.1 Kerberos 封装1.2 简化客户端证书的管理1.3 Apache Ranger 集成1.4 Hadoop URLs VS Knox URLs 2.自定义 Apache Knox2.1 Topology2.2 Provider2.3 Services2.4 Personalized services 3.Tips3.1 Setting up SSL3.2 常见问题3.2.1 Bulky answer3.2.2…

财务软件行业背景-易舟云

财税是每个企业的基本基石之一。财务报告讲述了公司的故事——它的利润和亏损、收益和债务、税收支出以及可用于未来增长的资产。随着信息时代的飞速发展,财务信息化建设日益完善,大量基于计算机网络的应用系统已经逐步深入财务管理领域。传统的会计录入…

过冲、振铃、非单调性

1、过冲(Overshoot)和振铃(Ringing)是电路中常见的信号失真现象,主要出现在开关电源、数字信号传输、通信系统以及其他涉及快速开关动作的电子设备中。它们通常与电路的瞬态响应有关,尤其是当电路受到阶跃输…

【学习笔记十三】EWM常见上架策略介绍

一、手工维护上架策略 系统不确定Storage type 和 bin,需要在创建仓库任务时或者确认仓库任务时手工输入仓位 1.后台配置-定义存储类型的类型0010 ①存储行为:标准仓位 ②入库规则:空仓未或添加至现有库存/空仓位 ③通用仓库任务&#x…

postgresql 备份恢复相关知识点整理归纳 —— 筑梦之路

概述 PG一般有两种备份方式:逻辑备份和物理备份 逻辑备份对于数据量大的场景下耗时较长,恢复也会耗时较长 物理备份拷贝文件的方式相对来说耗时较短,跟磁盘读写性能和网络传输性能有关 逻辑备份 pg_dump pg_dump 将表结构及数据以SQL语句…

Docker in Docker (DinD): 深入探索与实际应用

引言 在软件开发的多样化环境中,Docker已成为一种重要的工具,用于实现应用的快速部署和可靠性。Docker in Docker(DinD)进一步推进了这一概念,使开发者能在一个Docker容器中运行另一个Docker实例。本文将详细探讨DinD…

微信小程序实现预约生成二维码

业务需求&#xff1a;点击预约按钮即可生成二维码凭码入校参观~ 一.创建页面 如下是博主自己写的wxml&#xff1a; <swiper indicator-dots indicator-color"white" indicator-active-color"blue" autoplay interval"2000" circular > &…

SpringBoot - Logback 打印第三方 Jar 日志解决方案

问题描述 最近碰到一个很苦恼的问题&#xff0c;就是第三方的 Jar 在自己项目里日志可以正常输出&#xff0c;但是一旦被引用到其他项目里&#xff0c;就日志死活打不出来…… 解决方案 这是原来的配置 - logback.xml <?xml version"1.0" encoding"UTF-8…

ARM 三个小灯闪烁

.text .global _start _start: 使能GPIOE的外设时钟 LDR R0,0x50000A28 指定基地址 LDR R1,[R0] 读取r0中的数据保存到r1中 ORR R1,R1,#(0X3<<4) [4]设置为1,表示 STR R1,[R0] 将修改之后的值放回去 设置PE10,PE8为输出 LDR R0,0X50006000…

LigaAI x 极狐GitLab,共探 AI 时代研发提效新范式

近日&#xff0c;LigaAI 和极狐GitLab 宣布合作&#xff0c;双方将一起探索 AI 时代的研发效能新范式&#xff0c;提供 AI 赋能的一站式研发效能解决方案&#xff0c;让 AI 成为中国程序员和企业发展的新质生产力。 软件研发是一个涉及人员多、流程多、系统多的复杂工程&#…

基于 Operator 部署 Prometheus 监控 k8s 集群

目录 一、环境准备 1.1 选择版本 1.2 过滤镜像 1.3 修改 yaml 镜像 1.4 移动 *networkPolicy*.yaml 1.5 修改 service 文件 1.6 提前下载镜像并推送到私有镜像仓库 1.7 修改镜像&#xff08;可选&#xff09; 二、执行创建 三、查看 pod 状态 四、访问 prometheus、…

Ceph [OSDI‘06]论文阅读笔记

原论文&#xff1a;Ceph: A Scalable, High-Performance Distributed File System (OSDI’06) Ceph简介及关键技术要点 Ceph是一个高性能、可扩展的分布式文件系统&#xff0c;旨在提供出色的性能、可靠性和可扩展性。为了最大化数据和元数据管理的分离&#xff0c;它使用了一…

2024年第十五届蓝桥杯C/C++B组复盘(持续更新)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 试题A&#xff1a;握手问题问题描述思路 试题B&#xff1a;小球反弹问题描述思路…

一个令人惊艳的图片高清化重绘神器:SUPIR来了!

今天给大家分享一个将模糊图片还原为照片级高清图像的AI项目&#xff1a;SUPIR。这个项目以尖端的大规模人工智能革新图像恢复技术&#xff0c;通过文本驱动、智能修复&#xff0c;将AI技术与创新思维相结合&#xff0c;赋予每张图像全新的生命力。这个项目的修复能力本质上是一…

Python中的多线程是怎样工作的? —— 掌握Python多线程:提升应用性能的关键技术

Python中的多线程是一种并发编程的技术&#xff0c;允许程序同时执行多个任务。在Python中&#xff0c;多线程是通过threading模块来实现的。 多线程的工作原理是将一个程序分成多个子任务&#xff0c;并让每个子任务在不同的线程中并发执行。每个线程都有自己的执行环境和栈&…

Qt 基础教程合集

Qt 世界 Qt 安装教程 QT安装教程 【Qt5】​Qt6安装教程 【Qt6】

AI的说服力如人类?Anthropic最新研究揭秘机器的辩论能力|TodayAI

人们常常对人工智能模型在对话中的说服力表现持怀疑态度。长久以来&#xff0c;社会上一直存在一个疑问&#xff1a;人工智能是否会达到人类那样&#xff0c;在对话中具有改变他人想法的能力&#xff1f; 直到最近&#xff0c;这一领域的实证研究相对有限&#xff0c;对于人工…

零基础使用FlexLua打造LoRa无线气体流量计,硬件轻松快速开发。

在工业领域&#xff0c;对气体流量进行准确监测和管理是保障生产安全和提高效率的重要环节。而LoRa&#xff08;长距离低功耗无线技术&#xff09;作为一种适用于远距离、低功耗的通信技术&#xff0c;为无线传感器网络的建设提供了可靠的解决方案。结合气体流量传感技术&#…

系统生物学:概念、历史、现状与展望?

系统生物学&#xff1a;概念、历史、现状与展望&#xff1f; 李升伟1 胡 鸣1 陈 竺2 &#xff08;1.特趣生物科技有限公司&#xff0c;广东省深圳市&#xff1b;2.上海交通大学医学院附属瑞金医院&#xff0c; 上海市&#xff09; 系统生物学&#xff08;Systems Biology…