前嗅教你大数据:采集带有翻页结构的网页数据

2024-06-02 01:18

本文主要是介绍前嗅教你大数据:采集带有翻页结构的网页数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

置顶 “前嗅大数据”

数据大牛一起成长,做牛气哄哄的大数据人

【场景描述】采集带有翻页的网页中的数据。

【使用工具】前嗅ForeSpider数据采集系统,免费下载:

ForeSpider免费版本下载地址

【教程说明】

采集带有翻页的网站,需要先获取所有的翻页链接,常见的翻页链接有三种:数字翻页、点击加载更多/下一页、瀑布流翻页。接下来将为大家介绍不同翻页的配置方法。

1. 数字翻页

下图所示为一个典型的数字翻页:

开始配置前,先新建一个任务模板:

抽取翻页链接方法有三种:

①智能过滤法:

打开前几个翻页链接,观察链接规律,

第二页:文学_线装古籍_孔夫子旧书网

第三页:文学_线装古籍_孔夫子旧书网

第四页:文学_线装古籍_孔夫子旧书网

打开智能过滤界面:

根据规律输入过滤规则:https://book.kongfz.com/Cxianzhuang/cat_\dw\d/

(其中\d表示数字串)

配置后,点击采集预览,发现翻页链接已经都采集到了。

②定位取值法

按住ctrl+鼠标单击任意一个翻页,然后按住shift+鼠标单击任意一个未选中翻页扩大选区,直至选中所有翻页,然后确认选区后保存。

采集预览,发现所有翻页都被抽取出来了。

③地址/标题过滤

类似智能过滤,先观察翻页链接规律(步骤可参考方法一),找到规律后,使用地址过滤的方法进行过滤保存,如下图所示,标题过滤跟地址过滤类似,是对标题内容进行过滤。

点击查看完整教程:采集孔夫子旧书网

2. 点击加载更多/下一页

示例地址:http://mbook.kongfz.com/Ckexue/

下图所示为一个典型的下一页:

①智能过滤

观察下一页链接规律,如下所示:

下一页1:自然科学_古旧书籍及收藏品交易_孔夫子旧书网

下一页2:http://mbook.kongfz.com/Ckexue/w3/

下一页3:http://mbook.kongfz.com/Ckexue/w4/

进行智能过滤,步骤参考数字翻页智能过滤。

②定位过滤

步骤参考数字翻页定位过滤。

③地址/标题过滤

一般用标题过滤多一些,如下图所示:

3. 瀑布流翻页

示例地址:https://new.qq.com/d/bj/

瀑布流翻页是用鼠标往下翻,一直能出来新的数据的翻页。比如腾讯新闻,如下图所示:

此类翻页的翻页链接在页面请求中,需要先找到请求链接,然后用脚本拼出链接。具体操作步骤如下所示:

在浏览器中打开页面后,点击F12,清空所有请求后,刷新页面。

鼠标往下浏览新闻,会发现出现很多新闻,右侧也出现很多请求。观察请求,找出翻页请求链接。

将多个请求链接复制出来,观察链接规律:

https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list?sub_srv_id=bj&srv_id=pc&offset=20&limit=20&strategy=1&ext={%22pool%22:[%22top%22],%22is_filter%22:10,%22check_type%22:true}

https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list?sub_srv_id=bj&srv_id=pc&offset=40&limit=20&strategy=1&ext={%22pool%22:[%22top%22],%22is_filter%22:10,%22check_type%22:true}

https://i.news.qq.com/trpc.qqnews_web.kv_srv.kv_srv_http_proxy/list?sub_srv_id=bj&srv_id=pc&offset=60&limit=20&strategy=1&ext={%22pool%22:[%22top%22],%22is_filter%22:10,%22check_type%22:true}

观察发现请求链接中只有一个参数不同,分别为20、40、60,该参数规律为:翻页数*20,根据这一规律,使用脚本拼写翻页链接。

首先新建一个任务模板:选中链接抽取后,打开脚本窗口:

写一个for循环来拼取翻页链接:

只要是用脚本拼写链接的,都需要用到这个。

脚本写完以后,点击保存,然后点击采集预览,即可看到拼好的链接。

点击查看完整教程:采集腾讯新闻数据

本教程仅供教学使用,严禁用于商业用途!

l 前嗅简介

前嗅大数据,国内领先的研发型大数据专家,多年来致力于为大数据技术的研究与开发,自主研发了一整套从数据采集、分析、处理、管理到应用、营销的大数据产品。前嗅致力于打造国内第一家深度大数据平台!

这篇关于前嗅教你大数据:采集带有翻页结构的网页数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022641

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个