爬坑之路一:初步认识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获取网页源码方式
或者直接用原生的来访问,获取到网页源码,然后直接通过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获取网页源码方式
相关文章推荐
- 关于PHP爬虫和Android定位的初步设想
- ArcGIS for Android 之IdentifyTask初步认识和使用
- Android常用控件的初步认识
- Android中初步认识HelloWorld(一)
- TouchSlop的初步认识(Android 判断触摸时是否滑动事件的常量)
- Android Jamendo开源在线音乐播放器源码分析一 jamendo初步认识
- 对Android基于vitamio框架调用第三方播放器播放视频的初步认识
- java4android (继承 初步认识)
- Android之GridView初步认识
- Android MVP结构的初步认识
- 我的Android进阶之旅------>对Java中注释/**@hide*/的初步认识
- android中Handler的初步认识(三)
- android中Handler的初步认识(二)
- Android的初步认识01
- Android中selector的初步认识(一)
- 关于PHP爬虫和Android定位的初步设想
- android中Handler的初步认识(一)
- android多线程之AsyncTask的初步认识(一)
- Android音频架构解析之(一)初步认识
- Android之Intent的初步认识