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

问题描述 投票:0回答:1

我需要从不提供 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 的工具可用于执行此操作?

java regex web-scraping google-app-engine
1个回答
4
投票

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

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

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();

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

© www.soinside.com 2019 - 2024. All rights reserved.