前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无码爬虫,真香

无码爬虫,真香

作者头像
永恒君
发布2022-12-06 15:47:22
3950
发布2022-12-06 15:47:22
举报
文章被收录于专栏:开源小分队开源小分队

大家好,我是爱撸码的开源大叔。

之前和大家分享过java爬虫框架 Jsoup,可还是要敲代码才能爬取东西,运营产品还是没法直接用,时不时来找大叔我爬些数据做分析,烦得很。

于是乎去 GitHub 找了找有没有不用写代码的爬虫工具,结果还真有 SpiderFlow 无需敲代码,即可爬数据。部署好就丢给运营产品,让他们自己玩了。

简介

SpiderFlow 是一个爬虫平台,以图形化方式定义爬虫流程,无需代码即可实现一个爬虫

特性

  • 支持 CSS 选择器、正则提取
  • 支持 JSON/XML 格式
  • 支持 Xpath/JsonPath 提取
  • 支持多数据源、SQL select/insert/update/delete
  • 支持爬取 JS 动态渲染的页面
  • 支持代理
  • 支持二进制格式
  • 支持保存/读取文件(csv、xls、jpg等)
  • 常用字符串、日期、文件、加解密、随机等函数
  • 支持流程嵌套
  • 支持插件扩展(自定义执行器,自定义函数、自定义 Controller 、类型扩展等)
  • 支持 HTTP 接口

快速部署

基础环境

代码语言:javascript
复制
JDK >= 1.8
Mysql >= 5.7
Maven >= 3.0 下载地址:(http://maven.apache.org/download.cgi)

搭建本地环境

导入数据库

基础表:spider-flow/db/spiderflow.sql

导入项目到 idea
修改 application.propeties

修改 spider-flow-web 下面的application.propeties

代码语言:javascript
复制
# 数据库配置
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/spiderflow?useSSL=false&useUnicode=true&characterEncoding=UTF8&autoReconnect=true
运行项目

运行 SpiderApplication 类,看到以下信息,即启动成功

代码语言:javascript
复制
 Tomcat started on port(s): 8088 (http) with context path ''
 Started SpiderApplication in 4.22 seconds (JVM running for 4.951)

使用

访问

浏览器访问:http://localhost:8088/

基础组件介绍

开始节点

仅仅是爬虫的起点,所有流程图必须有该节点。

爬取节点

该节点用于请求 HTTP/HTTPS 页面或接口。

定义变量

该节点用于定义变量之后,可以与表达式配套使用,实现动态设置各项参数(如动态请求分页地址)

变量名:变量的名字,当变量名重复时,会覆盖前一个变量。

变量值:变量的值,可以是常量,可以是表达式。

输出节点

该节点主要用于调试,测试时会把输出打印到页面中,另外也可以用来自动保存到数据库或文件。

例子:抓取百度热搜问题

从左边的组件栏中分别拖拽出那三个组件

设置爬取的节点配置
设置变量规则
设置输出
运行爬虫

得到结果:

小结

我们直接将爬虫平台部署好后,一句代码也没写就可以直接根据网站情况,创建爬虫爬取数据。就问大家 SpiderFlow 这个项目香不香?文中的例子也是比较简单的,平台还有很多高级功能,大家有兴趣可以继续探索。

问君能有几多愁,开源项目解千愁,我们下期再见!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 特性
    • 快速部署
      • 基础环境
        • 搭建本地环境
          • 导入数据库
          • 导入项目到 idea
          • 修改 application.propeties
          • 运行项目
      • 使用
        • 访问
          • 基础组件介绍
            • 开始节点
            • 爬取节点
            • 定义变量
            • 输出节点
          • 例子:抓取百度热搜问题
            • 设置爬取的节点配置
            • 设置变量规则
            • 设置输出
            • 运行爬虫
        • 小结
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档