我正在寻找从网页中提取一系列数据的代码。 该网页是:
http://kos.hdsat.pl/menu-20.html
我感兴趣的数据范围是Oscam.srvid数据(页面上的第一个数据列表)。 我想将此数据复制到名为Oscam.srvid
的本地文件中另一种选择是让脚本获取包的框,然后选择页面顶部的Oscam.srvid按钮。
我不确定哪个选项最容易编写脚本但是对我来说这两种方式都可以正常工作..
答案 0 :(得分:1)
您可以使用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
。
s/<.*>//g
删除所有&lt;&gt;括号,即HTML标签。
p
打印所有行,因为我们抑制了输出。
这在网站上对我有用,但如果网站发生变化可能会失败。例如,如果在我们实际查找的元素之前引入了另一个<textarea>
元素,它将提取此<textarea>
的内容。然后,可以通过搜索sed
或类似的东西来优化Oscam.srvid
命令。