Android Jsoup:实现HTML解析和Epub解析

// 遍历Elements的每个Element

for (Element link : eles) {

String linkHref = link.attr(“href”); // a标签的href属性

String text = link.text();

}

// 使用选择器语法来查找元素

Elements elements = doc.select(“a[href]”);

Elements elements2 = doc.select(“img[src$=.png]”);

Element element3 = doc.select(“div.className”).first();

// 数据修改

doc.select(“div.className”).attr(“key”, “value”);

doc.select(“div.className”).addClass(“myclass”); // class=“myclass”

doc.select(“img”).removeAttr(“onclick”);

// 消除不受信任的html (来防止xss攻击)

String htmls = “”; // 不安全的

String safe = Jsoup.clean(htmls, Whitelist.basic()); // 安全的

try {

Document doc2 = Jsoup.connect(url).get();

} catch (IOException e) {

e.printStackTrace();

}

try {

Document doc3 = Jsoup.connect(url).data(“key”, “value”)

.timeout(3000).post();

} catch (IOException e) {

e.printStackTrace();

}

// 若根目录有个index.html文件,否则程序会crash

File input = new File(Environment.getExternalStorageDirectory()

  • “/index.html”);

try {

Document doc4 = Jsoup.parse(input, “utf-8”, “http://baidu.com”);

} catch (IOException e) {

e.printStackTrace();

}

// …/baidu.png -> http://baidu.com/baidu.png

}

}

示例2:使用Jsoup解析HTML新闻列表

新闻地址是:http://mobile.csdn.net/

新闻网页的关键部分截图

《近匠》BeeCloud创始人黄君贤:三行代码集成支付的技术实现

发表于2015-11-03 18:18|4471次阅读|11条评论

《近匠》第106期:成立于2014年的BeeCloud专注于支付云服务,以“让支付更简单”为理念,为开发者及企业提供一站式支付解决方案。其推出的“秒支付Button”无需SDK,三行代码即可一键接入支付功能。

近匠

BeeCloud

Google

黄君贤

支付

SDK

专访贾磊:百度语音实现技术创新,打破汉语语音识别领域壁垒

发表于2015-11-03 14:58|186次阅读|1条评论

语音识别技术正处于大规模爆发边缘,更多终端会进入语音操作时代。近日百度在汉语语音识别方面获得重大理论和产品突破,CSDN对百度语音技术部负责人贾磊进行了专访,他分享了这次技术突破的理论基础和学术意义。

大数据

语音识别

专访

百度

技术

语音搜索

机器学习

人机交互

深度学习

【CTO讲堂】Growth Hacking背后,数据分析平台的架构调整

发表于2015-11-03 11:05|949次阅读|6条评论

Growth Hacking概念越来越火,很多创业团队把这个为Facebook、Airbnb等公司带来巨大用户增量的概念奉为圣经。与数据分析的关系是怎样的?现有的数据分析架构为什么不能支持需求?本文为诸葛io创始人&CEO孔淼的分享。

CTO俱乐部

CTO

CTO讲堂

Growth Hacking

数据分析

分析可知,每个条新闻item都在下面这个标签中

...

在安卓中解析的代码如下:

public class MainActivity extends Activity {

private String url = “http://mobile.csdn.net/”;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

new Thread(new Runnable() {

@Override

public void run() {

parseHtml();

}

}).start();

}

private void parseHtml() {

try {

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

Elements elements = doc.select(“div.unit”);

for (Element ele : elements) {

String title = ele.getElementsByTag(“h1”).first().text();

String href = ele.getElementsByTag(“h1”).first()

.getElementsByTag(“a”).first().attr(“href”);

// logcat中打印出“新闻标题+链接地址”

Log.i(“info”, title + “:” + href);

}

} catch (IOException e) {

e.printStackTrace();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值