我正在尝试解析一个相当简单的网页,以获取shell脚本中的信息。我现在使用的网页是生成的here。例如,我想将互联网服务提供商的信息拉入一个shell变量。使用xmlint、XMLStarlet或xpath中的一个程序来实现此目的可能是有意义的。我非常熟悉shell脚本,但我对XPath语法和用于实现XPath语法的实用程序不熟悉,因此我希望有一些正确的指导。
下面是shell脚本的开始:
HTMLISPInformation="$(curl --user-agent "Mozilla/5.0" http://aruljohn.com/details.php)"
# ISP="$(<XPath magic goes here.>)"
字符串
为了方便起见,下面是一个在线动态测试XPath语法的实用程序:
http://www.bit-101.com/xpath/的
5条答案
按热度按时间ma8fv8wu1#
快速而肮脏的解决方案...
字符串
您可以使用Chrome和开发人员工具找到节点的xpath。检查节点时,右键单击它并选择copyXPath。
我不会用这个太多,这不是很可靠。
您的页面上的所有信息都可以在其他地方找到:在自己的IP上运行whois...
0s0u357o2#
你可以用我的Xidel。从cli中的html页面中提取值是其主要目的。虽然它不是一个标准工具,但它是一个独立的、无依赖性的二进制文件,并且可以在没有root用户的情况下安装/运行。
它可以直接从网页中读取值,而不涉及其他程序。
使用XPath:
字符串
或者使用模式匹配:
型
czq61nw13#
使用PhantomJs。它是一个无头的WebKit,允许您在网页上执行JavaScript/CoffeeScript。我想这能帮你解决问题。
Pjscrape是一个基于PhantomJs的有用的网页抓取工具。
cmssoen24#
xpup
第一个字符XML
一个用Go语言编写的命令行XML解析工具。举例来说:
字符串
或者:
型
HTML
以下是解析HTML页面的示例:
型
pup
对于HTML解析,请尝试
pup
。举例来说:型
参见相关Feature Request for XPath。
安装
安装:
go get github.com/ericchiang/pup
。k3bvogb15#
HTML-XML-utils
HTML-XML-utils包中有许多命令行工具可以解析HTML文件(例如
hxselect
匹配CSS选择器)。还有
xpath
,它是Perl的XPath库(XML::Path
)的命令行 Package 器。相关:Command line tool to query HTML elements在SU