java爬虫抓取指定数据

java爬虫抓取指定数据,第1张

根据java网络编程相关的内容,使用jdk提供的相关类可以得到url对应网页的html页面代码。

针对得到的html代码,通过使用正则表达式即可得到我们想要的内容。

比如,我们如果想得到一个网页上所有包括“java”关键字的文本内容,就可以逐行对网页代码进行正则表达式的匹配。最后达到去除html标签和不相关的内容,只得到包括“java”这个关键字的内容的效果。

从网页上爬取的流程和爬取内容的流程基本相同,但是爬取的步骤会多一步。

需要先用img标签的正则表达式匹配获取到img标签,再用src属性的正则表达式获取这个img标签中的src属性的url,然后再通过缓冲输入流对象读取到这个url的信息,配合文件输出流将读到的信息写入到本地即可。

import orgjsoupJsoup;

import orgjsoupnodesDocument;

import orgjsoupselectElements;

public class Test {

    public static void main(String[] args) {

         String str = "<table><tr><td>user</td><td>cc</td></tr><tr><td>pass</td><td>123</td></tr></table>";

        Document doc = Jsoupparse(str);

        Elements trs = docselect("table")select("tr");

        for(int i = 0;i<trssize();i++){

            Elements tds = trsget(i)select("td");

            for(int j = 0;j<tdssize();j++){

                String text = tdsget(j)text();

                Systemoutprintln(text);

            }

        }

    }

}

运行结果 :

user

cc

pass

123

觉得吧~如果你想抓取网页分页信息可以使用第三方工具进行抓取,但是问题就来了,加入你是要自己程序实现的话,这样就很麻烦。所以建议自己实现比较好。因为分页内容,每一页都有一个特定的链接,而且很相似,就只有那个指定页数的参数不同而已。所以你可以先用遍历方式将每个网页抓取后解析,然后再存起来,这样比较实际点。

但是我建议你可以在客户端也使用分页模式,这样的话,根据需求去获取,就不会一下子请求的数据量太大。

以上就是关于java爬虫抓取指定数据全部的内容,包括:java爬虫抓取指定数据、Java jsoup 取得html中的table里的内容、利用jsoup抓取网页的图文信息,只需要网页上的文章和图片,怎么样同时抓取这两个信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9592199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存