我需要一种方法来保存运行Java的网站中的内容,例如:https://www.betfair.com/exchange/plus/tennis
我需要一个可以执行此操作的功能:Ctrl + A,创建文本文档,Ctrl + V,保存文档。
我知道wget和curl,但是我不能让他们做到这一点,有帮助吗?
答案 0 :(得分:2)
如果您要下载某个页面的内容并将其保存到文件中,则可以使用-O file
选项:
wget "https://www.betfair.com/exchange/plus/tennis" -O tennis.txt
请注意,在某些系统(CentOS和其他系统)上,命令行中参数的顺序很重要。
wget -O FILE URL
有效。
wget URL -O FILE
不起作用(至少在CentOS上)。
如果要使用wget下载整个网站,可以执行以下操作:
$ wget \
--recursive \
--no-clobber \
--page-requisites \
--html-extension \
--convert-links \
--restrict-file-names=windows \
--domains betfair.com \
--no-parent \
www.betfair.com/
信息:如果您想隐藏跟踪信息,可以使用'-q'
有关更多信息,请参见wget手册页:
$man wget
答案 1 :(得分:1)
提及 Ctrl A 和 Ctrl V 表示clipboard(和/或某些selection)的参与。仅当display server与某些desktop environment一起运行时才有意义。并非总是如此(例如,许多Web服务器在Linux下的数据中心中运行,并且没有剪贴板;而且我也可以在运行某些virtual console的unix shell中使用我的Linux系统,而无需任何操作显示服务器)。
This answer解释了如何在Shell脚本中处理剪贴板。使其适应使用wget
或curl
有关更多信息,请参见xclip(1),wget(1),curl(1),并巧妙地将它们组合在一起,也许使用pipeline在您的shell脚本中。
我需要一种保存网站内容的方法
请务必详细了解与您的特定案件有关的HTTP交流(请求和答复以及他们的headers)。您可能需要处理HTTP cookies。
可能,您的主要问题是要在HTTP client 端(例如,在某些现代浏览器中)解释JavaScript(而不是问题中提到的 Java )模仿它的东西);这需要不同的方法。查看Selenium。
某些网站还提供web API以编程方式(也许使用JSON甚至是REST)来查询其内容。一个很好的例子是github REST API。您需要向目标网站的维护者询问更多信息。