Go版本开源爬虫框架Creeper.zip


Creeper 是一个基于简单脚本( Creeper Script ,扩展名 .crs )的下一代开源爬虫框架。需要配合一门正经的编程语言(只开发了 Go 版本)来使用,先在 Creeper Script 内定义爬取规则,然后用 Go 代码来读取规则,再爬取资源。使用场景一般会用在需要同时采集大量不同网站,或者开发聚合阅读器时。(以后可能会增加 cli 和数据库访问支持)简单的用例:假如我想要爬取 HackerNews ,需要写出这样子的脚本,其实看起来有些类似 yaml 配合 jquery 的样子,但是其实差别挺大的。page(@page=1) = "https://news.ycombinator.com/news?p={@page}" news[]: page -> $("tr.athing") title: $(".title a.storylink").text site: $(".title span.sitestr").text link: $(".title a.storylink").href之后在 Go 文件中来读取并使用这个脚本;package main import "github.com/wspl/creeper" func main() { c := creeper.Open("./hacker_news.crs") c.Array("news").Each(func(c *creeper.Creeper) { println("title: ", c.String("title")) println("site: ", c.String("site")) println("link: ", c.String("link")) println("===") }) }执行后,将会如期地输出类似下面的内容:title: Samsung chief Lee arrested as S.Korean corruption probe deepens site: reuters.com link: http://www.reuters.com/article/us-southkorea-politics-samsung-group-idUSKBN15V2RD === title: ReactOS 0.4.4 Released site: reactos.org link: https://reactos.org/project-news/reactos-044-released === title: FeFETs: How this new memory stacks up against existing non-volatile memory site: semiengineering.com link: http://semiengineering.com/what-are-fefets/ 标签:Creeper


















































- 1


- 粉丝: 496
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 改进下垂控制与微电网控制方向下的负载与储能系统仿真研究
- 离线iP库 输入IP地址立即返回IP所在地址信息(支持Java、Python)包含: GeoLite2-City.mmdb GeoLite2-ASN.mmdb
- Maxwell与OptiStruct联合仿真:多目标优化在电动系统关键性能指标中的应用
- 永磁同步电机矢量控制Matlab仿真:双闭环与前馈补偿下的波形表现优秀 - 前馈补偿 高级版
- 电力电子技术中三相可控整流电路设计与仿真的关键技术及应用 · 三相可控整流 v3.0
- 永磁同步电机退磁与温磁双向耦合分析——基于Workbench平台的Maxwell&Fluent实操教程
- 量产车型BMS软件设计详解:碰撞检测、采样处理与多模块功能管理 · 故障诊断 (07月28日)
- 基于博途1200PLC与HMI的水塔水位自动控制系统仿真及其应用
- 基于springboot“智慧食堂”系统设计与实现coder.zip
- 光子晶体光纤与石墨烯-黑磷增强SPR等离子体谐振传感关键技术研究 黑磷
- 光伏系统中三路Boost交错并联技术的C语言实现及仿真分析
- COMSOL多极分解技术在石墨烯电磁场与光学仿真的应用研究
- 电力电子领域中正负序PLL锁相环算法在华为与阳光电源DSP芯片中的应用及C语言实现 C语言
- mmdbIP库文件资源
- 混凝土细观单轴受压与受拉模拟的复现研究——基于太原理工大学硕士论文的方法与结果
- 基于Matlab Robotic Toolbox的四轴机械臂建模与运动控制仿真研究


