1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android web 爬虫 Android学习——Jsoup实现网络爬虫 爬取贤集网

android web 爬虫 Android学习——Jsoup实现网络爬虫 爬取贤集网

时间:2021-10-25 21:20:16

相关推荐

android web 爬虫 Android学习——Jsoup实现网络爬虫 爬取贤集网

前言

jsoup的简介

使用项目原话:jsoup是一个Java库来处理实际的HTML。它提供了一个非常方便的API来提取和操纵数据,使用最好的DOM,CSS和jquery-like方法

jsoup的配置

jsoup的配置很简单,需要在gradle中添加以下依赖

compile 'org.jsoup:jsoup:1.10.2'

由于jsoup需要获取网络数据,所以记得添加网络权限

正文

已经通过Jsoup.connect(URL).get();方法获取到整个网站的代码,但是发现我需要的新闻板块是这样的,没有任何标识

台湾液晶面板厂中华映管申请破产重整! 负债348亿新台币

于是我采用获取全文有href的a标签,同时为了排除网站上一些板块的导航入口,href中又必须含有"/connect/“和”/html/"

new Thread() {

@Override

public void run() {

super.run();

try {

Document doc = Jsoup.connect(WebMainURL).get();

Elements els = doc.select("a[href]");

for(Element el : els){

String href=el.attr("href");

if (href.contains("/special/") && href.contains("html"))

{

Log.e("完整",el.toString());

Log.e("链接",href);

Log.e("内容",el.text());

Log.e("分隔","\n"+"----------------------------------------------------------");

}

}

}

catch (IOException e) {

e.printStackTrace();

}

}

}.start();

结果如下

然后就可以进去获取更具体的作者、时间、内容等信息,为了方便测试,我这里先指定进入一个网址。并找到了它代码中的作者和时间

文章来源: 半导体投资联盟 发布时间:-12-14

谢天谢地它终于有class了!感人!,马上读取出它的text,

发现是这样的 文章来源: 半导体投资联盟 发布时间:-12-14

获取到“发布时间”的位置,用2个substring得到作者和时间

if(href.equals("/special/detail_375109.html")){

Document docDetailRaw = Jsoup.connect(WebMainURL+href).get();

Elements els_docDetail = docDetailRaw.select("div.public-time");

String doc_detail = els_docDetail.text();

int timeInString = els_docDetail.text().indexOf("发布时间");

String doc_detailAuthor = doc_detail.substring(5,timeInString).trim();

String doc_detailTime = doc_detail.substring(timeInString+5).trim();

Log.e("author",doc_detailAuthor);

Log.e("time",doc_detailTime);

}

log如下

12-15 06:36:30.622 9210-9226/com.example.asus.spidertest E/author: 半导体投资联盟

12-15 06:36:30.622 9210-9226/com.example.asus.spidertest E/time: -12-14

同理,文章的内容也能轻而易举爬出来了

Elements els_docContent = docDetailRaw.select("div.main-text");

String doc_content = els_docContent.text();

Log.e("content",doc_content);

但是发现没有图片

参考(Android开发技巧——TextView加载HTML的图片及代码显示问题)

最后成功!

后面就是一些封装成Bean,连接数据库等操作,可以自己根据需求来。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。