java - 如何执行网络抓取以在 Google App Engine 上查找 Java 中的特定链接页面?

标签 java regex google-app-engine screen-scraping web-scraping

我需要从不提供 RSS 提要的远程网站检索文本。

我所知道的是,我需要的数据始终位于从主页 ( http://www.example.com/ ) 链接到的页面上,链接包含文本“Invoices Report ”。

例如:

<a href="http://www.example.com/data/invoices/2010/10/invoices-report---tuesday-october-12.html">Invoices Report - Tuesday, October 12</a>

因此,我需要在主页上找到所有与此模式匹配的链接,然后从位于名为 <div class="invoice-body"> 的标签内的那些页面中检索所有文本。 .

是否有 Java 工具可以帮助解决这个问题?是否有任何专门针对 Google App Engine for Java 的工具可以用来执行此操作?

最佳答案

查看 http://code.google.com/appengine/docs/java/urlfetch/overview.html

您可以使用 UrlFetch 服务逐行读取 www.example.com/index.html,并使用正则表达式查找“​​Invoices Report”。

URL url = new URL("http://www.example.com/index.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;

while ((line = reader.readLine()) != null) {
    checkLineForTextAndAddLinkOrWhatever(line);
}
reader.close();

如果链接可能位于多行,您可能需要不同类型的阅读器。

关于java - 如何执行网络抓取以在 Google App Engine 上查找 Java 中的特定链接页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3952939/

相关文章:

asp.net - <asp :RegularExpressionValidator and RegexOptions. 忽略模式空白

python - 如何使用 sqlalchemy 编写帮助器类

google-app-engine - 如何在 app.yaml 文件中使用环境变量?

java - 定制表的通用设计

java - 访问每个动态添加的 jComponent

java - 单独的类/方法中的方法实例?

google-app-engine - 如何在 GAE 搜索应用程序上执行词干提取/旅鼠提取?

java - 什么是 NullPointerException,我该如何解决?

java .matches() 不匹配

python - 如何消除html标签?