2012-02-02 30 views
3

我想建立这个应用程序,当提供一个.txt文件充满了isbn号码将通过简单地将isbn附加到URL www访问该isbn号码的isbn.nu页面.isbn.nu/你的号码是关闭网站信息和存储在excel文件

拉出页面后,我想扫描它以获取关于该书的信息,并将其存储在Excel文件中。

我正在考虑在Java中创建url的文件流,但我不确定如何从html页面中提取信息。存储信息将使用JExcel Java包完成。

我最好的猜测是使用javascript来提取信息,但我不知道如何从我的java程序中调用javascript。

我的想法是否合理?如果没有,你们建议我做什么?

我的目标是:从HTML页面检索信息并将其存储在文本文件中每个ISBN的Excel文件中。文本文件中可以有任意数量的isbn。

这不是家庭作业顺便说一句,我只是为一个向苏丹捐赠书籍的组织做这件事。目前他们有5人手动编目这些书籍,我就是其中之一。

+1

嘿,这已是我第一次看到标有两种【JAVA问题]和[javascript],这不是初学者的错误。尼斯。 :) – sarnold 2012-02-03 00:20:31

回答

0

下面是所需的步骤:

  1. 创建卷曲请求(您可以使用多个卷曲请求)
  2. 获取体数据
  3. 解析数据
  4. 使Excel文件

您可以使用此功能读取HTML信息guide

+0

Fedya,因为我在网络编程方面是一个完全新手,所以请随身携带。据我所知,我的大部分工作都在Java和C中。有没有办法不断为不同的isbns卷曲请求。例如,如果Java有一个库来读取HTML文件(这可能,我需要检查)。我只是做一些像 while(!文件结尾包含isbns) {打开流到HTML页面,获取info,store info} – user1022223 2012-02-03 00:02:34

+0

我不舒服我可以帮助你,因为我是PHP开发人员。但是,我知道CURL是跨平台库,您可以找到如何进行多重请求。 – 2012-02-03 00:36:52

3

Jsoup是一个有用的工具解析一个网页并从中获取数据。你可以用Java来完成,这很容易。

您可以解析文本文件,使用字符串构建URL,使用JSoup发送它,然后使用JSoup使用页面上的html标签解析出信息。然后你可以把它存储出来,不过你想要的。如果你更熟悉Java,你真的不需要使用Javascript。

用于读取页面,并与Jsoup解析它

例子:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); 
Elements newsHeadlines = doc.select("#mp-itn b a"); 
+0

非常感谢,这似乎是我现在最好的选择。或者至少是最简单的。我会尝试研究源代码,看看他们如何实现这些东西。 – user1022223 2012-02-03 00:23:40

+0

@ user1022223如果您只是想通过查看源代码来了解它,那很酷,但它可以自由使用。不要自己去实现它:)应该很容易添加到任何Java项目中,就像任何其他jar一样。 – AHungerArtist 2012-02-03 00:37:22

+0

顺便说一句,如果这确实最终为你工作,请随时接受答案:) – AHungerArtist 2012-02-03 04:12:01

1

这里是www.isbn.nu的主页文本:

请注意,书号。nu是为个人手动搜索而设计的。它不是作为自动检索的信息资源,也不是作为公司的研究工具。 isbn.nu保留根据过多请求拒绝访问的权利。

为什么不使用免费的Google图书API来返回XML格式的图书详细信息。 Java中有很多类来解析XML提要,并会让你的生活更轻松。

有关更多信息,请参阅http://code.google.com/apis/books/