根据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);
}
}
}
}
运行结果 :
usercc
pass
123
觉得吧~如果你想抓取网页分页信息可以使用第三方工具进行抓取,但是问题就来了,加入你是要自己程序实现的话,这样就很麻烦。所以建议自己实现比较好。因为分页内容,每一页都有一个特定的链接,而且很相似,就只有那个指定页数的参数不同而已。所以你可以先用遍历方式将每个网页抓取后解析,然后再存起来,这样比较实际点。
但是我建议你可以在客户端也使用分页模式,这样的话,根据需求去获取,就不会一下子请求的数据量太大。
以上就是关于java爬虫抓取指定数据全部的内容,包括:java爬虫抓取指定数据、Java jsoup 取得html中的table里的内容、利用jsoup抓取网页的图文信息,只需要网页上的文章和图片,怎么样同时抓取这两个信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)