有没有办法从curl请求中grep html文本并输出抓取两个html标签之间的值?
更具体地说,是表单的输入值?
答案1
您可以使用常规 UNIX 命令(so 、等)curl
的混合来读取通过 下载的 html 中的内容。具体如何读取取决于表单的具体外观以及您想要如何解释它。grep
awk
您还可以使用perl
其他具有库的语言来完成此操作,这使得它更容易。
但是,输入表单仅在某些人或流程填写时才会在字段中包含内容本地在通过 POST(或者不太可能是 GET)请求提交之前。
输入表单显然可以有默认值,但似乎您要问的是是否可以以某种方式从已填写的表单中提取数据,答案不是来自curl,因为curl向Web服务器询问网页然后你会得到一个空表格。
也许您可以澄清您想要实现的目标。
答案2
有
- html 的小狗
- 用于 xhtml/xml 的 xpup(使用 xpath 而不是 css 选择器)
他们的灵感来自于json解析器jq 并提供类似的语法和行为:
curl -s https://news.ycombinator.com/ | pup 'table table tr:nth-last-of-type(n+2) td.title a attr{href}'