Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从网站上读取信息并存储在excel文件中_Java_Javascript - Fatal编程技术网

Java 从网站上读取信息并存储在excel文件中

Java 从网站上读取信息并存储在excel文件中,java,javascript,Java,Javascript,我正在尝试构建这个应用程序,当提供一个填充isbn号码的.txt文件时,只需将isbn添加到url www.isbn.nu/您的isbn号码,即可访问isbn.nu页面以获取该isbn号码 拉起页面后,我想扫描它以获取有关该书的信息,并将其存储在excel文件中 我正在考虑用Java创建url的文件流,但我不确定如何从html页面提取信息。存储信息将使用jexceljava包完成 我最好的猜测是使用javascript来提取信息,但我不知道如何从java程序中调用javascript 我的想法可

我正在尝试构建这个应用程序,当提供一个填充isbn号码的.txt文件时,只需将isbn添加到url www.isbn.nu/您的isbn号码,即可访问isbn.nu页面以获取该isbn号码

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

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

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

我的想法可信吗?如果不是,你们建议我怎么做

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


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

以下是所需的步骤:

  • 创建CURL请求(可以使用多个CURL请求)
  • 获取身体数据
  • 解析数据
  • 制作excel文件

  • 您可以使用此

    读取HTML信息。请使用一个div,在其中加载链接(此处的示例是如何执行此操作)

    加载完成后,您可以检查网页中使用的div或span的名称,并使用
    val
    ()或
    text
    ()

    获取该内容,这是解析网页并从中获取数据的有用工具。你可以用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");
    

    以下是www.isbn.nu主页上的文本:

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

    为什么不使用免费的GoogleBooksAPI以XML格式返回书籍详细信息呢。Java中有许多类可用于解析XML提要,这将使您的生活更加轻松


    有关更多信息,请参阅。

    一个简单的解决方案可能是使用Google Docs电子表格功能,如
    ImportXML(URL,路径表达式)

    更多信息和示例如下:


    Fedya,请告诉我这一点,因为我在网络编程方面完全是新手。我的大部分工作都是用Java和C语言完成的。是否有一种方法可以连续为不同的ISBN发出curl请求。例如,如果Java有一个库来读取html文件(可能是这样,我需要检查一下)。我只需要做一些类似于while(!end of file containing isbns){打开html页面的流,获取信息,存储信息}的事情。我不是舒尔,我可以帮你,因为我是PHP开发人员。但是,我知道CURL是跨平台库,您可以找到如何进行多请求。嘿,这一定是我第一次看到一个同时使用[java]和[javascript]标记的问题,这不是初学者的错误。不错。:)非常感谢,这似乎是我现在最好的选择。或者至少是最简单的。我将尝试研究源代码,看看他们是如何实现这些功能的。@user1022223如果您只想通过查看源代码来了解它,这很酷,但可以免费使用。不要自己去实现它:)它应该很容易添加到任何Java项目中,就像任何其他jar一样。顺便说一句,如果这最终对您有效,请随意接受答案:)