我想从具有JAVA(Android)的网站中提取<div class="score">4.1</div> 我尝试了Jsoup ,尽管使用起来并不简单,但它在8秒内为我提供了该值,这非常慢。 您需要知道,该网站的页面源包含300,000个字符,而该<div>位于中间。

即使使用HttpClient并将源放入StringBuilder然后遍历整个字符串直到找到乐谱部分也更快(3-4秒)。

我无法尝试HtmlUnit,因为它需要大量的jar文件,并且过了一会儿Eclipse总是因其混乱而生气。

有没有更快的方法?

===============>>#1 票数:0

您可以简单地发送XMLhttpRequest,然后使用search()函数搜索响应。 我认为这样会更快。

相似的问题: 在JavaScript中使用XMLhttpRequest检索源代码

为了使搜索更快,您可以简单地使用indexOf([sting to search],[starting index])并指定起始索引(它不需要非常准确,只需缩小搜索范围即可)。

===============>>#2 票数:0

这是我所做的。 问题是我逐行阅读网页,然后将它们粘贴到StringBuilder并搜索特定部分。 然后我问自己:为什么我要逐行阅读然后将它们粘在一起? 因此,我将页面读入ByteArray并将其转换为String。 抓取时间不到一秒钟!

try
    {
       InputStream is = new URL(url).openStream();
       outputDoc = new ByteArrayOutputStream();
       byte buf[]=new byte[1024];
       int len;
       while((len=is.read(buf))>0)
       {
          outputDoc.write(buf,0, len);
       }
       outputDoc.close();
        } catch(Exception e) {  e.printStackTrace(); }

try {
    page = new String(outputDoc.toByteArray(), "UTF-8");
        //here I used str.indexOf to find the part

}

  ask by erdomester translate from so

未解决问题?本站智能推荐:

1回复

从网站抓取数据?

嗨,我正在尝试抓取一个网站的数据,我为此编写了代码,我想在按钮单击事件上抓取数据,但是当我运行我的程序时,它会引发异常 例外是:java.lang.NoClassDefFoundError:com / google / common / base / Function 我如何删除此异
1回复

如何将网站数据抓取到Excel工作表中?

我是一名新手程序员,试图汇编所有inc5000公司及其行业,位置,收入和首席执行官的Excel列表。 我有什么办法可以自动执行此操作,这样我就不必手动输入全部5000吗? 一些问题: -inc5000列表在一个页面上仅显示50家公司,并且滚动到下一页不会更改URL。 我尝试将UR
1回复

如何使用Java(Android)从网站抓取数据?

我的Android应用将从电话号码获取运营商信息。 我打算使用Jsoup(或另一个Java HTML解析器)来刮擦表中显示的运营商信息。 我正在尝试从fonefinder.net抓取 查询URL格式为: 页面的HTML是一个简单的表格(请参见下文)。 我正在尝试从第二行第
1回复

抓取基于XML加载HTML的网站数据

我正在尝试使用JAVA中的JSoup库从网页中抓取数据。 但是,这里的问题是我要抓取的数据是基于XML加载的,因此当我尝试从HTML解析它时,它会显示 而不是完整的HTML,它只会显示此注释。 我如何抓取这些数据,因为在inspect元素中,我可以看到完整的HTML。
1回复

当只能通过按钮访问数据时,如何从网站上抓取数据?

我想从Java应用程序中的网站上抓取数据。 我要收集的数据在html-table-element内部。 我尝试了两种不同的方法: 我试图将带有BufferedReader的网站加载到字符串中,并从字符串中收集数据。 我尝试使用Jsoup来访问确切的html元素,但是它是空的
1回复

选择下拉列表时如何从网站抓取数据?

嗨,我正在尝试从某个网站上抓取数据,我想在该网站上自动选择下拉菜单,然后从表中捕获所有数据。 我遇到了问题,因为在该网站表ID那里不可用,所以我很困惑如何刮取该值。 这是我的代码 我如何实现我的输出
1回复

将多个网页上的抓取数据合并为一个页面

我想创建一个网页,该网页以与IE Web Slice,WebChunks,PageSlices或其他 Web Slice相似的方式聚合来自多个网页的数据。 它可以是网站(或本地的html页面),也可以是作为聚合器的桌面应用程序。 这样做的方式是什么? Java,Javascript
1回复

如何从Java Web抓取API获取数据?

我正在尝试从以下网址获取表数据: 从此URL获取数据 我在jaunt API的帮助下编写了这段代码 但这没有用。 然后我尝试了另一个名为htmlunit API并在下面的代码中编写了代码 但这也没有给出结果。 有人可以在单个会话中帮助您如何从上述网址和其他
1回复

jsoup从网站获取数据

我正在使用Java jsoup从http://www.aastocks.com/zh_CN/ltp/rtquote.aspx?symbol=00055&process=y获得“最后”价格 我的代码: 但它返回: 请帮忙
1回复

从网站获取某些数据的最快方法? 当前将整个html解析为一个String并进行筛选

我想以最快的方式从网站(没有API或网络服务)中获取数据。 我目前正在使用bufferedreader,并将html解析为字符串,然后使用子字符串在其中筛选所需的数据。 我已经在stackoverflow上搜索了答案,很多人说他们使用JSoup来完成相同的工作,但这是比将数据解析为字符串