在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 基于SQL的DSL网络爬虫/屏幕抓取工具下载

基于SQL的DSL网络爬虫/屏幕抓取工具下载

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:2.06M
  • 下载次数:0
  • 浏览次数:43
  • 发布时间:2024-04-07
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
Pickaxe是一个强大的命令行工具,它允许用户通过结合SQL语句和CSS选择器来从网页中提取所需的文本信息。如果你对SQL和CSS选择器有一定的了解,那么这个工具非常适合你。

Pickaxe可以在Linux、MacOS和Windows上运行。最快的开始方式是如果已经安装了Docker,运行以下命令:
docker run -it bitsummation/pickaxe /bin/bash
一旦安装完成或Docker镜像正在运行,你可以通过输入pickaxe来启动它。如果没有给出任何参数,它将以交互模式运行,允许你在提示符下输入代码,输入分号后代码将被执行。你也可以传递源代码的文件位置或者网络上的源地址。

Pickaxe使用类似SQL的语句来从网页中选择文本。与其它工具不同的是,这些SQL语句不是针对数据库执行,而是针对实时网页执行。例如,你可以通过以下方式下载整个网页,并通过where子句选择感兴趣的节点:
select *
from download page 'https://www.faa.gov/air_traffic/weather/asos/?state=TX'
where nodes = 'table.asos tbody tr'
此外,Pickaxe还支持嵌套下载选择、下载线程以加快速度、使用代理、存储结果(内存、文件、SQL数据库)等高级功能,使得从网页中提取数据变得更加灵活和高效。

对于需要客户端JavaScript渲染的页面,Pickaxe提供了简单的js提示以适应这种情况,尽管性能会有所下降。例如,你可以指定要等待的HTML元素,直到JavaScript渲染该元素,并设置超时时间(以秒为单位)。

Pickaxe还允许运行JavaScript代码来处理下载的页面,使得从复杂的网页结构中提取数据变得可能。此外,还支持子查询、匹配和替换文本、更新表、下载图片、使用变量、生成URLs、内部连接表等多种高级功能,极大地扩展了从网页中提取数据的可能性。

总之,Pickaxe是一个功能强大的工具,适用于需要从网页中提取特定数据的开发者和数据分析师。
【实例截图】
【核心代码】
文件清单
└── pickaxe-1583837156343f4a52f42b8972c27731760e96d4
    ├── Binaries
    │   └── Antlr
    │       ├── antlr-3.5.2.jar
    │       ├── Antlr3.Runtime.dll
    │       └── LICENSE.txt
    ├── build.bat
    ├── Dockerfile.contained
    ├── Dockerfile.dev
    ├── Dockerfile.framework
    ├── Examples
    │   ├── awos.s
    │   ├── georgetown-airport.s
    │   ├── heb.s
    │   ├── LakeTravisWaterLevel.s
    │   ├── nfl-divisions.s
    │   ├── PgaLeaderboard.s
    │   ├── stocks.s
    │   ├── walmart-category.s
    │   ├── walmart.s
    │   └── youtube.s
    ├── LICENSE
    ├── Pickaxe.CodeGen
    │   ├── CodeDomArg.cs
    │   ├── CodeDomMethodArg.cs
    │   ├── CodeDomTypeDefinition.cs
    │   ├── Extensions.cs
    │   ├── IScopeData.cs
    │   ├── Pickaxe.CodeGen.csproj
    │   ├── Scope.cs
    │   ├── ScopeData.cs
    │   ├── SelectArgsInfo.cs
    │   ├── SelectMatch.cs
    │   ├── SelectScope.cs
    │   ├── Semantic
    │   │   ├── AmbiguousSelectVariable.cs
    │   │   ├── BadCssSelector.cs
    │   │   ├── BadProxyFormat.cs
    │   │   ├── DownloadRequirestring.cs
    │   │   ├── FileTableImmutable.cs
    │   │   ├── InsertSelectArgsNotEqual.cs
    │   │   ├── LineInfo.cs
    │   │   ├── NoColumnName.cs
    │   │   ├── NoDirectory.cs
    │   │   ├── NoTableMember.cs
    │   │   ├── NotTableRowVariableException.cs
    │   │   ├── NotTableVariableException.cs
    │   │   ├── OnlyTwoSelectParamForDirectory.cs
    │   │   ├── SelectNoColumnsFound.cs
    │   │   ├── SemanticException.cs
    │   │   ├── UnknownSelectVariableException.cs
    │   │   ├── UnknownVariableReferenceException.cs
    │   │   └── VariableAlreadyExists.cs
    │   └── Visitor
    │       ├── Visitor.AdditionOperator.cs
    │       ├── Visitor.AndExpression.cs
    │       ├── Visitor.AsExpression.cs
    │       ├── Visitor.Block.cs
    │       ├── Visitor.BufferTable.cs
    │       ├── Visitor.CaseBooleanStatement.cs
    │       ├── Visitor.CaseExpression.cs
    │       ├── Visitor.CaseVariableStatement.cs
    │       ├── Visitor.CodeDomGenerator.cs
    │       ├── Visitor.CommandLineVariable.cs
    │       ├── Visitor.DivisionOperator.cs
    │       ├── Visitor.DownloadImageExpression.cs
    │       ├── Visitor.DownloadPageExpression.cs
    │       ├── Visitor.EachStatement.cs
    │       ├── Visitor.EqualsExpression.cs
    │       ├── Visitor.ExpandExpression.cs
    │       ├── Visitor.ExpandIterationVariable.cs
    │       ├── Visitor.FileTable.cs
    │       ├── Visitor.FloatLiteral.cs
    │       ├── Visitor.FromStatement.cs
    │       ├── Visitor.GetDatePrimitive.cs
    │       ├── Visitor.GreaterThanEqualExpression.cs
    │       ├── Visitor.GreaterThanExpression.cs
    │       ├── Visitor.IdentityVariable.cs.cs
    │       ├── Visitor.InnerJoinStatement.cs
    │       ├── Visitor.InsertIntoDirectoryStatement.cs
    │       ├── Visitor.InsertIntoStatement.cs
    │       ├── Visitor.InsertOverwriteStatement.cs
    │       ├── Visitor.IntegerLiteral.cs
    │       ├── Visitor.JavascriptCode.cs
    │       ├── Visitor.JSTableHint.cs
    │       ├── Visitor.LessThanEqualExpression.cs
    │       ├── Visitor.LessThanExpression.cs
    │       ├── Visitor.LikeExpression.cs
    │       ├── Visitor.MsSqlTable.cs
    │       ├── Visitor.MultiplicatonOperator.cs
    │       ├── Visitor.NestedSelectStatement.cs
    │       ├── Visitor.NodesBooleanExpressionStub.cs
    │       ├── Visitor.NotEqualExpression.cs
    │       ├── Visitor.NotLikeExpression.cs
    │       ├── Visitor.NullLiteral.cs
    │       ├── Visitor.NullOperator.cs
    │       ├── Visitor.OrExpression.cs
    │       ├── Visitor.PickStatement.cs
    │       ├── Visitor.ProcedureCall.cs
    │       ├── Visitor.ProcedureDefinition.cs
    │       ├── Visitor.Program.cs
    │       ├── Visitor.ProxyList.cs
    │       ├── Visitor.ProxyStatement.cs
    │       ├── Visitor.SelectAll.cs
    │       ├── Visitor.SelectArg.cs
    │       ├── Visitor.SelectId.cs
    │       ├── Visitor.SelectStatement.cs
    │       ├── Visitor.StringLiteral.cs
    │       ├── Visitor.SubtrationOperator.cs
    │       ├── Visitor.TableAlias.cs
    │       ├── Visitor.TableColumnArg.cs
    │       ├── Visitor.TableMemberReference.cs
    │       ├── Visitor.TableVariableReference.cs
    │       ├── Visitor.TableVariableRowGetter.cs
    │       ├── Visitor.TableVariableRowReference.cs
    │       ├── Visitor.TakeAtrributeStatement.cs
    │       ├── VisitorTakeHtmlStatement.cs
    │       ├── VisitorTakeTextStatement.cs
    │       ├── Visitor.ThreadTableHint.cs
    │       ├── Visitor.TruncateTableStatement.cs
    │       ├── Visitor.UpdateStatement.cs
    │       ├── Visitor.VariableAssignmentStatement.cs
    │       ├── Visitor.VariableDeclarationStatement.cs
    │       ├── Visitor.VariableReference.cs
    │       ├── Visitor.WhenBooleanStatement.cs
    │       ├── Visitor.WhenLiteralStatement.cs
    │       ├── Visitor.WhereStatement.cs
    │       └── Visitor.WhileStatement.cs
    ├── Pickaxe.Console
    │   ├── ConsoleAppender.cs
    │   ├── Interactive.cs
    │   ├── Log4Net.config
    │   ├── Pickaxe.Console.csproj
    │   ├── Program.cs
    │   ├── Runner.cs
    │   └── runtimeconfig.template.json
    ├── Pickaxe.Emit
    │   ├── AssemblyGenerator.cs
    │   ├── Compiler.cs
    │   └── Pickaxe.Emit.csproj
    ├── Pickaxe.Parser
    │   ├── Antlr
    │   │   ├── AntlrLexer.cs
    │   │   ├── AntlrParser.cs
    │   │   ├── Scrape.g
    │   │   ├── ScrapeLexer.cs
    │   │   ├── ScrapeParser.cs
    │   │   └── Scrape.tokens
    │   ├── Bridge
    │   │   ├── AntlrBridgeTree.cs
    │   │   ├── BridgeBase.cs
    │   │   ├── BridgeVisitor.cs
    │   │   └── IBridgeVisitor.cs
    │   ├── CodeParser.cs
    │   ├── LineInfo.cs
    │   ├── ParseException.cs
    │   └── Pickaxe.Parser.csproj
    ├── Pickaxe.Runtime
    │   ├── AngleSharp
    │   │   ├── AngleSharpDoc.cs
    │   │   ├── AngleSharpElement.cs
    │   │   └── AngleSharpFactory.cs
    │   ├── BufferTable.cs
    │   ├── CodeTable.cs
    │   ├── Config.cs
    │   ├── Debug
    │   │   ├── BreakProcesser.cs
    │   │   ├── IBreak.cs
    │   │   └── IDebug.cs
    │   ├── Dom
    │   │   ├── CacheElement.cs
    │   │   ├── DomFactory.cs
    │   │   ├── HtmlDoc.cs
    │   │   └── HtmlElement.cs
    │   ├── DownloadedNodes.cs
    │   ├── DownloadError.cs
    │   ├── DownloadImage.cs
    │   ├── DownloadPage.cs
    │   ├── DynamicObject.cs
    │   ├── DynamicObjectDownloadTable.cs
    │   ├── DynamicObjectWrapper.cs
    │   ├── Expand.cs
    │   ├── Extensions.cs
    │   ├── FileTable.cs
    │   ├── Helper.cs
    │   ├── Http.cs
    │   ├── IHttpRequest.cs
    │   ├── IHttpRequestFactory.cs
    │   ├── IHttpWire.cs
    │   ├── Internal
    │   │   ├── HttpProxySelector.cs
    │   │   ├── HttpRequest.cs
    │   │   ├── HttpRequestFactory.cs
    │   │   ├── HttpWire.cs
    │   │   ├── ProxyHttpRequest.cs
    │   │   ├── ProxyHttpRequestSelector.cs
    │   │   ├── ProxySelector.cs
    │   │   ├── RetryHttpRequest.cs
    │   │   ├── SeleniumExecJsHttpWire.cs
    │   │   ├── SeleniumHttpWire.cs
    │   │   └── WebRequestHttpWire.cs
    │   ├── IRow.cs
    │   ├── IRowReader.cs
    │   ├── IRowWriter.cs
    │   ├── IRuntime.cs
    │   ├── LazyDownloadArgs.cs
    │   ├── LazyDownloadPage.cs
    │   ├── MsSqlTable.cs
    │   ├── Pickaxe.Runtime.csproj
    │   ├── PrimitiveFunctions.cs
    │   ├── ProgressArgs.cs
    │   ├── Proxy.cs
    │   ├── ResultRow.cs
    │   ├── Runable.cs
    │   ├── RuntimeBase.cs
    │   ├── RuntimeTable.cs
    │   ├── SelectDownloadPage.cs
    │   ├── SelectDownloadTable.cs
    │   ├── Table.cs
    │   ├── TableDescriptor.cs
    │   ├── TablePrimitive.cs
    │   ├── ThreadedDownloadTable.cs
    │   ├── VariableDownloadPage.cs
    │   ├── VariableDownloadTable.cs
    │   └── VariableTypePair.cs
    ├── Pickaxe.Sdk
    │   ├── AdditionOperator.cs
    │   ├── AliasBase.cs
    │   ├── AndExpression.cs
    │   ├── AsExpression.cs
    │   ├── AstNode.cs
    │   ├── Block.cs
    │   ├── BooleanExpression.cs
    │   ├── BufferTable.cs
    │   ├── CaseBooleanStatement.cs
    │   ├── CaseExpression.cs
    │   ├── CaseVariableStatement.cs
    │   ├── ChildCollection.cs
    │   ├── CommandLineVariable.cs
    │   ├── DivisionOperator.cs
    │   ├── DownloadImageExpression.cs
    │   ├── DownloadPageExpression.cs
    │   ├── EachStatement.cs
    │   ├── EqualsExpression.cs
    │   ├── ExpandExpression.cs
    │   ├── ExpandIterationVariable.cs
    │   ├── FileTable.cs
    │   ├── FloatLiteral.cs
    │   ├── FromStatement.cs
    │   ├── GetDatePrimitive.cs
    │   ├── GreaterThanEqualExpression.cs
    │   ├── GreaterThanExpression.cs
    │   ├── IAstVisitor.cs
    │   ├── IdentityVariable.cs
    │   ├── InnerJoinStatement.cs
    │   ├── InsertIntoDirectoryStatement.cs
    │   ├── InsertIntoStatement.cs
    │   ├── InsertOverwriteStatement.cs
    │   ├── IntegerLiteral.cs
    │   ├── JavascriptCode.cs
    │   ├── JSTableHint.cs
    │   ├── LessThanEqualExpression.cs
    │   ├── LessThanExpression.cs
    │   ├── LikeExpression.cs
    │   ├── LineInfo.cs
    │   ├── MatchExpression.cs
    │   ├── MsSqlTable.cs
    │   ├── MultiplicatonOperator.cs
    │   ├── NestedSelectStatement.cs
    │   ├── NodesBooleanExpression.cs
    │   ├── NotEqualExpression.cs
    │   ├── NotLikeExpression.cs
    │   ├── NullLiteral.cs
    │   ├── NullOperator.cs
    │   ├── OrExpression.cs
    │   ├── Pickaxe.Sdk.csproj
    │   ├── PickStatement.cs
    │   ├── ProcedureCall.cs
    │   ├── ProcedureDefinition.cs
    │   ├── Program.cs
    │   ├── ProxyList.cs
    │   ├── ProxyStatement.cs
    │   ├── ReplaceExpression.cs
    │   ├── SelectAll.cs
    │   ├── SelectArg.cs
    │   ├── SelectId.cs
    │   ├── SelectStatement.cs
    │   ├── StringLiteral.cs
    │   ├── SubtrationOperator.cs
    │   ├── TableAlias.cs
    │   ├── TableColumnArg.cs
    │   ├── TableMemberReference.cs
    │   ├── TableVariableReference.cs
    │   ├── TableVariableRowGetter.cs
    │   ├── TableVariableRowReference.cs
    │   ├── TakeAttributeStatement.cs
    │   ├── TakeHtmlStatement.cs
    │   ├── TakeTextStatement.cs
    │   ├── ThreadTableHInt.cs
    │   ├── TruncateTableStatement.cs
    │   ├── UpdateSetArgs.cs
    │   ├── UpdateStatement.cs
    │   ├── VariableAssignmentStatement.cs
    │   ├── VariableDeclarationStatement.cs
    │   ├── VariableReferance.cs
    │   ├── WhenBooleanStatement.cs
    │   ├── WhenLiteralStatement.cs
    │   ├── WhereStatement.cs
    │   └── WhileStatement.cs
    ├── Pickaxe.sln
    ├── Pickaxe.Tests
    │   ├── CodeGen.cs
    │   ├── CommandArgTests.cs
    │   ├── EachTests.cs
    │   ├── ExpandTests.cs
    │   ├── JoinTests.cs
    │   ├── NestedSelectTests.cs
    │   ├── Pickaxe.Tests.csproj
    │   ├── PrimitiveFunctionTests.cs
    │   ├── ProcedureCallTests.cs
    │   ├── ProcedureTests.cs
    │   ├── RunJavascriptTest.cs
    │   ├── SelectTests.cs
    │   ├── TestCode.cs
    │   ├── TestHelper.cs
    │   ├── Test.html
    │   ├── UpdateTests.cs
    │   ├── WhereTests.cs
    │   └── WhileTests.cs
    └── README.md

19 directories, 311 files

标签:

实例下载地址

基于SQL的DSL网络爬虫/屏幕抓取工具下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警