我正在寻找从网页中提取一系列数据的代码。网页是:
http://kos.hdsat.pl/menu-20.html
我感兴趣的数据范围是 Oscam.srvid 数据(页面上的第一个数据列表)。我想将此数据复制到名为 Oscam.srvid 的本地文件中
另一种选择是让脚本为包的盒子提供 tcck 并选择页面顶部的 Oscam.srvid 按钮。
我不确定哪个选项最容易编写脚本,但对我来说都可以正常工作..
我正在寻找从网页中提取一系列数据的代码。网页是:
http://kos.hdsat.pl/menu-20.html
我感兴趣的数据范围是 Oscam.srvid 数据(页面上的第一个数据列表)。我想将此数据复制到名为 Oscam.srvid 的本地文件中
另一种选择是让脚本为包的盒子提供 tcck 并选择页面顶部的 Oscam.srvid 按钮。
我不确定哪个选项最容易编写脚本,但对我来说都可以正常工作..
您可以使用wget
下载html网站,然后sed
提取您要使用的内容。就像是
wget http://kos.hdsat.pl/menu-20.html && sed -n '/<textarea/,${/<\/textarea/q; s/<.*>//g; p}' menu-20.html > Oscam.srvid
可以完成这项工作。
这里发生了什么事?
wget http://kos.hdsat.pl/menu-20.html
下载文件,如果成功,我们将运行sed
但使用选项抑制所有输出-n
。现在我们寻找“textarea”的第一次出现并打印到文档的末尾($
;我们实际上并没有打印到文档的末尾,而是稍后有一个退出语句)。在这些行中,我们运行以下sed
命令:
/<\/textarea/q
一旦我们找到“<\textarea”就退出。
s/<.*>//g
删除所有 <> 括号,即 HTML 标记。
p
打印所有行,因为我们抑制了输出。
这在网站上对我有用,但如果网站发生变化可能会失败。例如,如果在<textarea>
我们实际查找的元素之前引入了另一个元素,它将提取 this 的内容<textarea>
。sed
然后可以通过搜索Oscam.srvid
或类似的东西来优化命令。