Python学习笔记(17)掌握JS动态网页信息采集

Python爬虫之爬取动态页面数据 很多网站通常会用到Ajax和动态HTML技术,因而只是使用基于静态页面爬取的方法是行不通的。对于动态网站信息的爬取需要使用另外的一些方法。 先看看如何分辨网站时静态的还是动态的,正常而言含有“查看更多”字样或者打开网站时下拉才会加载内容出来的进本都是动态的,简便的方法就是在浏览器中查看页面相应的内容、当在查看页面源代码时找不到该内容时就可以确定该页面使用了动态技术。 对于动态页面信息的爬取,一 阅读详情

下面会从连续动作的适用范围、动作类型、如何使用连续动作、连续动作的循环执行说明等四个方面,全面地介绍连续动作的知识点。

一、连续动作的适用范围

越来越多的网页使用了JS动态技术,即网页信息不是立马显示出来的,而是要经过点击或输入之类的动作才能浏览到想要的信息,例如条件筛选、输入关键词搜索、滚屏加载、点击目录等等,而这类网页通常是没有独立网址的,不能对它直接采集,只能设置连续动作来实现相应鼠标动作的自动执行,从而加载出想要的信息然后采集下来。

  • 动作前后的网页地址没有变化,即想要采集的网页信息是没有独立的网址入口。
  • 需要连续多次的鼠标动作(点击、输入、筛选等等)才能浏览到想要的网页信息。

二、连续动作的动作类型

连续动作类型是逐步增加的,截止目前的爬虫,已经实现了10种类型,后续版本还会持续增加新类型。下面是各个动作类型的使用场景简介:

1,悬浮:把鼠标移动到网页上的某些内容上,就会弹出一个窗口,想要采集弹窗里面的信息,就要设置悬浮动作。

2,点击:如果要点击网页上的按钮或者是超链接,就要设置点击动作。

3,双击:与点击动作相似,是连点两下鼠标。

4,滚屏:对于页面很长甚至是加载不到尽头的瀑布流网页,想要采集到更多信息,就要设置滚屏动作,尽可能地滚屏加载出更多信息。

5,输入:想要在搜索框上自动输入关键词,以获取到搜索结果

Python爬虫爬取动态JS网页股票信息 上个学年学习了Python语言,Python给我的第一感觉就是简洁。实现同样的功能,相比之下比Java或者C++的代码量要少得很多。而且由于语法方面不像Java或者C++一样使用花括号,所以代码看起来也简洁明了。python语言不愧是在计算机生态的大背景下诞生的。近几年来更是在TIOBE排行榜上名列前茅。本篇文章主要讲解如何使用python爬虫爬取JS的动态网页。以某股票网站为例。 阅读详情

相关推荐

Python爬虫-17-案例:利用爬虫框架scrapy ,爬取JavaScript动态加载网页,将图片下载至本地

新建项目 1)在cmd中创建爬虫项目 2)项目结构(由于基础模板设置这里会默认新建一个images.py文件,不设置的话这边可以直接写也是可以的) 3)设置settings 图片下载地址分析 1)查看萌女最新选项的图片 2)查看请求信息,发现规律 3)浏览器打开url http://image.so.com/zjl?ch=beauty&sn=0...

karry_孙二的博客 2003

用python+selenium+firefox爬取动态网页

以某网站为例: 我们需要爬取的信息如下: 一般的静态网页中,信息是直接写在源代码里面的: 可以方便使用正则表达式抓取。但是对于js生成的动态页面,就需要我们模拟浏览器的行为加载页面,再爬取: 所以我们需要准备的是python3+selenium+firefox  其中firefox 需要安装Xpath checker 和firebug两个插件(用于xpath定位)

lwzswufe的博客 2251

Yep | 李峋爱心代码 python、html+CSS+JavaScript实现

【代码】Yep | 李峋爱心代码 python实现。

"You are worthy! You can do it!" 2万+

Python爬取JavaScript动态网页并解析数据

由于JavaScript的执行是在浏览器中进行的,传统的静态网页爬取方法无法获取到动态生成的内容。通过以上的示例代码,我们可以使用Python爬取JavaScript动态网页,并解析其中的数据。当然,具体的爬取和解析逻辑会根据不同的网页结构和需求而有所差异,需要根据实际情况进行适当的调整和优化。在上面的代码中,我们首先创建了一个PyQuery对象,并将获取到的页面源代码作为参数传入。在上面的代码中,我们首先创建了一个Beautiful Soup对象,并将获取到的页面源代码作为参数传入。

TechNovaX的博客 1561

使用Python抓取并渲染包含JavaScript的网页(PhantomJS)

然而,传统的爬虫库(如urllib和requests)无法执行网页中的JavaScript代码,这就导致了无法获取完整的页面内容。为了解决这个问题,我们可以使用PhantomJS,这是一个功能强大的无头浏览器,可以模拟浏览器环境并执行JavaScript代码。推荐的替代方案是使用更现代化的无头浏览器,如Chrome Headless或Firefox Headless,结合相应的WebDriver库(如ChromeDriver或GeckoDriver)进行操作。您可以根据需要选择适合您的环境的无头浏览器。

与其临渊羡鱼,不如退而结网 668

STM32+ST7789屏实战:手把手教你打造物理按键控制的3级菜单GUI(附完整代码)

本文详细介绍了如何使用STM32和ST7789屏构建物理按键控制的3级菜单GUI系统。从硬件架构设计、SPI驱动配置到菜单状态机实现,提供了完整的代码示例和优化技巧,帮助开发者快速掌握嵌入式GUI开发的核心技术。

iii12的专栏 236

PLSQL Developer14连接Oracle详细过程

下载地址:Instant Client for Microsoft Windows (x64) 64-bit | Oracle 中国解压客户端工具到一个目录(解压文件到当前目录,自动合并成一个目录)​ 电脑(右键)→属性→高级系统设置→环境变量→系统环境变量→新建变量名:NLS_LANG 变量值: AMERICAN_AMERICA.ZHS16GBK​ 变量名:TNS_ADMIN 变量值:C:\xiaxinyu\software\Oracle\instantclient_19_10​ 在Oracle客户端(C

summer_fish的专栏 3983

ESP32 WiFi自平衡小车硬件与PID控制实战

自平衡小车是典型的嵌入式实时反馈控制系统,其核心依赖姿态感知(如MPU6050)、电机驱动(如L298N)与闭环控制算法(如PID)的协同。系统通过IMU采集俯仰角,经互补滤波融合处理,再由PID控制器实时计算PWM输出,驱动直流电机产生恢复力矩;WiFi模块(ESP32内置)则提供远程遥控接口,实现AP模式下的Web指令交互。该架构兼具硬实时性(毫秒级采样与响应)与软实时性(HTTP服务),广泛应用于机器人教学、智能小车开发及边缘控制原型验证。本文围绕ESP32平台,详解传感器接口、驱动电路设计、PID抗

weixin_42509513的博客 391

【Python爬虫】爬取企业专利信息

本来是个美好的周末的,但是周五晚上领导给了一个公司名称的Excel,让把这些公司的专利信息爬取下来。本文记录了爬取企业专利信息的心酸过程。码字不易,喜欢请点赞!!! 一、找寻目标网页 在接到这个任务之后,我的内心是拒绝的。但是又不能不干。因此首先我需要先找到有公司专利信息的地方。在一番查找和问了问朋友之后,我知道中国专利网、国家知识产权网、Incopat、天眼查、企查查这些网站上面都有企业的专利...

Asher117的博客 2万+

3D Slicer的学习(二) 图像的分割

先对不同层级标注,然后点击Fill between slices -> Initialize -> Apply拖动层级颜色区域就会变成连续自适应的动态变化区域。如图,点击Level tracing,在图像上放置鼠标,会显示可能想要选中区域的轮廓,点击鼠标右键会将其显示为蓝色。然后点击Grow from seeds -> Initialize -> Apply,显示3D之后会自动扩展到其他位置的相同部位,从而展示整个部位。如图为copy之后,将黄色区域的颜色复制到原本的绿色区域。

tuweibazong的博客 6080

【AI理论学习】深入理解扩散模型:Diffusion Models(DDPM)(理论篇)

继OpenAI在2021提出的文本转图像模型之后,越来越多的大公司卷入这个方向,例如谷歌相继推出了和。一些主流的文本转图像模型,例如,和采用了扩散模型()作为图像生成模型,这也引发了对扩散模型的研究热潮。与GAN相比,扩散模型训练更稳定,而且能够生成更多样的样本,OpenAI的论文也证明了

小哲的博客 5213

作为一名爬虫人如何实现千万级数据爬取?

爬虫门槛不高,高就高在往后余生的每一次实操都随时会让你崩溃!Bro

吴秋霖的博客 1万+

高频注入是否需要对齐和强拖操作?

高频注入技术显著优化了传统FOC启动流程,但仍需部分对齐操作。传统启动必须包含位置检测、对齐和强拖等步骤,而高频注入可实现零速闭环,简化或跳过部分环节。高频注入下的对齐主要用于验证有效性、初始化观测器和建立初始磁链,形式可大幅简化。虽然高频注入基本消除了传统强拖需求,但在重载、弱凸极等特殊情况下仍需辅助。实际应用中可采用自适应混合策略,根据负载和电机类型选择最优启动方案。高频注入使对齐和强拖从"必须"变为"可选优化项",是无传感器控制的重要进步。

汽车软件开发 204

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: Python学习笔记(16) python爬虫实现自动网页截屏
下一篇: Python学习笔记(18)数据采集、爬虫路线、连续动作三者的执行顺序
Python老王
博客等级 码龄7年 159粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值