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

心血来潮想做个漫画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,爬虫,爬坑之路)