当前位置:

首页 > 编程开发 > Portia开源可视化爬虫工具的使用学习

Portia开源可视化爬虫工具的使用学习

本文目录

    Portia是一款开源可视化爬虫工具,通过Docker部署后,可在浏览器中创建项目与Spider,设置起始页并建立页面样本。通过注释页面元素定义抓取字段,配置URL白名单与黑名单限制访问范围。完成配置后启动爬虫,可将数据保存为JSON文件,实现快速可视化抓取。

    背景

    最近在做一个可配置的爬虫模板,目标是能快速扩展新的抓取业务,最终做成一个可视化的配置服务。目前还在进行中,思路有些卡壳,所以打算翻翻市面上已有的轮子,看看能不能找到新的灵感。

    安装

    Docker 安装完成后,拉取 Portia 服务项目即可。

    # <..FOLDER> 路径自定义即可,可在后面加上 portia 的版本
    docker run -i -t --rm -v :/app/data/projects:rw -p 9001:9001 scrapinghub/portia
    
    # git 上是如下语句
    docker run -v ~/portia_projects:/app/data/projects:rw -p 9001:9001 scrapinghub/portia

    具体细节可以参考官方文档。

    使用 Portia 包

    新建 project

    Portia 安装完成后,用浏览器打开 http://localhost:9001,在“Create a new project”中输入项目名。

    Portia开源可视化爬虫工具的使用学习

    点击“New spider”创建一个新的 spider。右侧边栏会提示输入一个 URL,Portia 会将这个 URL 作为 start page(起始页)。这个 start page 通常被当作 seed(种子),用来获取更多的链接。

    Portia开源可视化爬虫工具的使用学习

    Portia 支持创建 page sample(页面样本)。创建了页面样本后,就可以调度后续任务按照设定的模板抓取元素。所以,我们需要先创建这样的模板。

    page sample

    创建 sample 后,就可以开始注释页面了。注释会将页面中的一条数据链接到项目字段,而这些就是我们想要提取的数据。

    Portia开源可视化爬虫工具的使用学习

    给字段命名,选择数据类型。

    Portia开源可视化爬虫工具的使用学习

    Portia 默认会遵循所有域内 URL。但在很多情况下,我们需要限制 Portia 访问的页面,避免在不相关的页面上浪费请求。为此,可以分别设置“跟随”和“排除”的白名单和黑名单 URL 模式。通过将爬网策略改为“Configure URL patterns”来配置这些。

    Portia开源可视化爬虫工具的使用学习

    到此操作结束。可以在最右侧看到我们选中的项目。将所有需要提取的 items 注释完后,关闭样本(Close Sample)。如果以后需要再添加其他元素,可以继续配置此样本,方便后续抓取。

    最后,在右侧可以看到我们需要的数据,JSON 格式如下。

    启动程序

    配置好了 sample page 和 start pages,接下来就是正式抓取数据了——将数据保存到 JSON 文件或者数据库中。这里我们以保存成 JSON 文件为例。

    官方给出的代码如下:

    docker run -i -t --rm -v PROJECTS_FOLDER:/app/data/projects:rw -v OUPUT_FOLDER:/mnt:rw -p 9001:9001 scrapinghub/portia \
    portiacrawl /app/data/projects/PROJECT_NAME SPIDER_NAME -o /mnt/RESULT.json

    其中可以更改的是大写的部分:PROJECTS_FOLDER(项目文件夹)、OUPUT_FOLDER(输出目录)、PROJECT_NAME(项目名)、SPIDER_NAME(Spider 名字)、RESULT.json(保存结果的文件名)。

    注意:启动程序前必须先关闭 Portia 的调试页面。这里我直接使用 kill 命令,因为在 docker 启动的终端按下 Ctrl+C 或 Ctrl+Z 都无效,只能用进程关闭。

    举个例子,我的启动代码如下:

    docker run -i -t --rm -v ~/portia_projects:/app/data/projects:rw -v ~/result:/mnt:rw -p 9001:9001 scrapinghub/portia \
    portiacrawl /app/data/projects/tingyun tingyun.site -o /mnt/tingyun.json

    运行成功就能看到代码在飞快地跑了,而且抓取的都是我们想要的 items。

    总结

    到这里,Portia 的抓取之旅就告一段落了。通过使用 Portia,确实能实现快速、简易的抓取功能,并且将抓取过程可视化地呈现给操作者。还有其他有趣的功能,后续学习过程中遇到再继续分享。接下来会试着将它用到一些大规模的抓取场景中,看看实际效果如何。关于 Portia 的更多内容,可以继续关注本站后续文章。

    本文内容来源于网友投稿,如有侵权请联系删除。
    作者最新文章
    编程开发
    相关文章 更多
    PHP递归性能优化技巧与迭代替代方案
    PHP递归性能优化技巧与迭代替代方案

    解析PHP递归函数在树形数据处理中的性能瓶颈,提供预加载数据消除I/O、使用显式栈替代深层递归的实战方案,帮助开发者在代码可读性与执行效率间做出合理取舍。

    Java测试中怎么使用Mockito模拟依赖对象
    Java测试中怎么使用Mockito模拟依赖对象

    详细讲解在Java单元测试中如何使用Mockito模拟依赖对象,包括引入依赖、创建Mock、打桩返回值、行为验证以及Mock与Spy的核心差异和常见陷阱排查。

    链表删除节点的时间复杂度是多少及其详细分析
    链表删除节点的时间复杂度是多少及其详细分析

    详细分析链表删除节点的时间复杂度,深入探讨单链表与双向链表在不同已知前提下的查找与删除开销,并结合完整代码与清晰图解进行对比总结。

    codex如何配置模型参数及文件设置教程
    codex如何配置模型参数及文件设置教程

    想知道如何让AI写出的代码更贴合你的习惯?本文手把手教你在VS Code中调整Codex相关模型参数,通过修改配置文件优化温度值和令牌限制,解决代码建议不准确或响应慢的问题。

    Claude Code AI编程工具实力揭秘与编程助手实测
    Claude Code AI编程工具实力揭秘与编程助手实测

    通过实测展示Claude Code在终端中如何理解自然语言指令、自动修改代码文件并处理复杂编程任务,帮助开发者评估其实际辅助能力。

    winforms教程自学入门与基础开发步骤详解
    winforms教程自学入门与基础开发步骤详解

    本教程详细讲解如何使用Visual Studio创建WinForms项目,通过添加按钮和标签控件并编写点击事件代码,实现一个基础的计数器功能,适合C#初学者快速上手Windows窗体应用开发。

    Cursor自动补全设置教程教你快速开启代码补全功能
    Cursor自动补全设置教程教你快速开启代码补全功能

    详解Cursor编辑器中自动补全功能的开启与优化设置,涵盖Tab触发机制、上下文窗口调整及模型切换,帮助开发者解决补全延迟、干扰大等问题,提升编码流畅度。

    pandas的数据格式怎么转换和设置方法教程
    pandas的数据格式怎么转换和设置方法教程

    详解Pandas中数据格式转换的核心方法,包括astype强制转换、to_numeric容错处理及日期解析技巧,解决常见类型错误并提升数据处理效率。

    VS Code中文设置方法 简体语言包安装与切换教程
    VS Code中文设置方法 简体语言包安装与切换教程

    详细介绍在Visual Studio Code中安装Chinese (Simplified)语言包的方法,包括通过扩展市场搜索、安装及自动重启切换至简体中文界面的完整步骤,帮助开发者快速将编辑器本地化。

    cursor安装过程无法更改安装位置的解决方法
    cursor安装过程无法更改安装位置的解决方法

    针对Cursor安装包默认锁定C盘且无路径选择界面的问题,提供通过手动移动文件并创建目录联结(Symbolic Link)的解决方案,实现将软件安装在其他磁盘分区。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    WINDOWS 更多
    3dmax(3ds max)
    3dmax(3ds max)
    Windows

    Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。