0

我想打开一个网页(其 URL 作为命令行参数给出),然后想将该网页的内容保存为 .txt 文件。

请记住,我需要 .txt 文件而不是网页的来源。

我用硒尝试了我的手,效果很好。但是现在我想要一些不打开真正浏览器的东西,因为打开浏览器并在其中加载页面是一项耗时的任务。

我想用java来做。

内容是指我们在 IE 中保存网页时获得的文本(不带标记),方法是转到“另存为”,然后选择“.txt”作为文件的输出格式。

4

2 回答 2

3

如果我正确理解您的问题,您希望在不使用导航器的情况下呈现页面并复制呈现的文本。

为此,您需要一个无头浏览器。HTMLUnit将是一个不错的选择。

要获取文本内容,您可以这样做(未经测试):

WebClient c = new WebClient(BrowserVersion.INTERNET_EXPLORER_6);
TextPage tp = c.getPage("yoururl");
String content = tp.getContent();

(参见Javadoc

于 2010-01-14T15:04:19.790 回答
-1

嗯,我什至会从头开始编写代码,看起来并不复杂,甚至可能不值得在您的项目中添加对另一个库的依赖:

  • 打开到该 URL 的 URLConnection
  • 从连接中获取流,应用正则表达式将所有 HTML 剥离到数据中。如果页面预计不会太大而无法满足您的内存要求:) 将页面读入字符串,然后应用正则表达式。或者,对这里描述的内容进行拍摄(尽管我对那里描述的方式没有经验)。
  • 将输出保存到 txt。
于 2010-01-14T15:57:53.133 回答