Android 模拟登录网页—脚本爬取数据

本文介绍了一个Android项目,实现客户端爬取网页数据,用于个性化推荐。讲解了爬取网页的基本概念,包括静态与动态内容、解析方式如CSS选择器、XPATH和正则表达式。在Android中,通过WebView加载网页并注入JavaScript脚本,监听用户登录以获取数据。还讨论了脚本的更新策略,以应对网页结构变化。

这篇主要来讲下近期做的一个项目-客户端爬取网页数据,用以向客户个性化推荐产品。那么怎么在Android客户端上将浏览的网页爬取,提取有价值的数据呢?请耐心看下去.

1.爬取介绍

首先让我们来了解下爬取这个东西。
一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值,内容一般分为两部分,非结构化的文本(e.g. HTML网页),或结构化的文本(e.g. JSON数据)。

这边要特殊介绍下HTML网页。HTML基本上是传统爬虫过程中最常见的,也就是大多数时候会遇到的情况,例如抓取一个网页,得到的是HTML,然后需要解析一些常见的元素,提取一些关键的信息。HTML其实理应属于结构化的文本组织,但是又因为一般我们需要的关键信息并非直接可以得到,需要进行对HTML的解析查找,甚至一些字符串操作才能得到,所以还是归类于非结构化的数据处理中。

因为我这期项目做的就是跟HTML网页相关,所以我很关心网页内容的来源,以及对应的解析爬取方式。

来源:

  • 网页包含内容。一般来讲基本上是静态网页已经写死的内容,或者动态网页,采用模板渲染,浏览器获取到HTML的时候已经是包含所有的关键信息,所以直接在网页上看到的内容都可以通过特定的HTML标签得到
  • JavaScript代码加载内容。这种情况是由于虽然网页显示时,内容在HTML标签里面,但是其实是由于执行js代码加到标签里面的,所以这个时候内容在js代码里面的,而js的执行是在浏览器端的操作,所以用程序去请求网页地址的时候,得到的response是网页代码和js的代码,所以自己在浏览器端能看到内容。
  • Ajax异步请求。这种情况是现在很常见的,尤其是在内容以分页形式显示在网页上,并且页面无刷新,或者是对网页进行某个交互操作后,得到内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值