【发布时间】:2014-02-06 05:11:17
【问题描述】:
让我直接描述问题。如果您转到以下链接,您将看到一个包含 Aesop 编写的故事的 html 链接列表。每个故事都包含一个道德声明。我只需要复制和存储包含“伊索寓言的道德:”的字符串,我需要将结果作为由空格或换行符分隔的序列。
http://www.taleswithmorals.com/
我该怎么做?在这种情况下,哪个平台更容易使用?你能指导我完成吗?
【问题讨论】:
让我直接描述问题。如果您转到以下链接,您将看到一个包含 Aesop 编写的故事的 html 链接列表。每个故事都包含一个道德声明。我只需要复制和存储包含“伊索寓言的道德:”的字符串,我需要将结果作为由空格或换行符分隔的序列。
http://www.taleswithmorals.com/
我该怎么做?在这种情况下,哪个平台更容易使用?你能指导我完成吗?
【问题讨论】:
我使用 python 和 mechanize(一个网络机器人)做了与此非常相似的事情。
您也可以只使用 urllib 并解析响应,因为您知道要查找的确切字符串。
我认为 Python 非常适合。
【讨论】:
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html
Java 具有相当先进的原生字符串处理。如果我试图在 java 中执行此操作,我会做的是 indexOf(String) 方法,它返回该字符串中特定子字符串的第一个索引。使用它,您可以查找表示链接的 html href 标记(查看页面的 HTML 源代码)。如果您不确定如何找到 HTML 文件本身,这里是 How do you Programmatically Download a Webpage in Java 一个很好的解释如何使用 java 提取 HTML 文件。 然后,您可以浏览每个单独页面的源代码并找到“伊索寓言的道德:”子字符串,然后使用 Java 的 PrintWriter 将紧随其后的字符串保存,它可以将字符串写入文件:http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html
希望这会有所帮助!
【讨论】: