您的位置:首页 > 移动开发 > Android开发

爬坑之路一:初步认识Android爬虫

2017-02-27 12:40 253 查看
心血来潮想做个漫画App,看到掘金的各种Python爬虫等,看了原理,觉得Adnroid上应该也很简单啊,现在网络访问开源库那么多,期中Okhttp就挺好用,不过Okhttp访问返回的源码中中文会出现乱码,Okhttp获取页面中文乱码问题解决方法

或者直接用原生的来访问,获取到网页源码,然后直接通过pattern来匹配正则表达式不就能够很方便的爬出很多页面的东西吗?

可是。。。我太天真了,一开始直接使用pattern来匹配就遇到了字符大小超过限制的问题,那应该怎么办?后来又了解到了Jsoup,

Jsoup中文Api

Jsoup是一个java的html解析器,可以使用可以通过DOM,CSS以及类似jQuery的方法来查询取出数据。

现在应该可以了吧,字符大小是解决了。新的问题出现了,我根本取不到那个img标签。

几番调试,我发现了,那通过Jsoup访问的返回网页没有了img标签!!!只剩下一个加载中.gif和加载错误的图片。

word天,搞什么,这网页居然没有加载完!

于是又查询资料,发现Jsoup不支持js操作,也就是说我们通过Jsoup除非抓取网页的静态内容,动态的没法抓取!

那就很尴尬了啊。

目前我想到的解决方法:

1.通过WebView 来构建模拟访问,然后在网页加载完成之后也就是重写WebViewClient中的onPageFinished(WebView view,String url){}方法来通过DOM条件来获取到加载之后的网页的数据。

2.也是通过WebView来构建模拟访问,然后管理下载(图片等)

3.还是WebView来构建模拟访问,再与JS交互来取得自己想要的数据。

另外,通过WebView构建模拟访问加载页面完毕之后可以做很多事情,毕竟我们可以拿到真正的网页源码了,那么我们要怎么获取网页源码呢?

WebViewh获取网页源码方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android爬虫 Jsoup