爬坑之路一:初步认识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获取网页源码方式

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值