Linux,将网页内容另存为文本

时间:2018-10-20 08:59:54

标签: linux

我需要一种方法来保存运行Java的网站中的内容,例如:https://www.betfair.com/exchange/plus/tennis

我需要一个可以执行此操作的功能:Ctrl + A,创建文本文档,Ctrl + V,保存文档。

我知道wget和curl,但是我不能让他们做到这一点,有帮助吗?

2 个答案:

答案 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 consoleunix shell中使用我的Linux系统,而无需任何操作显示服务器)。

This answer解释了如何在Shell脚本中处理剪贴板。使其适应使用wgetcurl

有关更多信息,请参见xclip(1)wget(1)curl(1),并巧妙地将它们组合在一起,也许使用pipeline在您的shell脚本中。

  

我需要一种保存网站内容的方法

请务必详细了解与您的特定案件有关的HTTP交流(请求和答复以及他们的headers)。您可能需要处理HTTP cookies

可能,您的主要问题是要在HTTP client 端(例如,在某些现代浏览器中)解释JavaScript(而不是问题中提到的 Java )模仿它的东西);这需要不同的方法。查看Selenium

某些网站还提供web API以编程方式(也许使用JSON甚至是REST)来查询其内容。一个很好的例子是github REST API。您需要向目标网站的维护者询问更多信息。