在做项目中发现一个问题,Android的渠道太多了,每次版本更新,都要去每个渠道查看版本是否更新完毕,很麻烦。
那么问题来了,是否可以通过爬虫,把所有的渠道中关心的数据都爬下来,然后再整理呈现,这样子就可以方便运营和产品查看每个渠道的信息了。
爬虫的方法和介绍的文章有很多了,一般都是通过服务器爬数据再整理,具体这个问题不需要做数据的记录和计算,所有尝试了用iOS做一个简单的网页解析,然后再整理数据做呈现。
在简书上已经有一篇不错的文章只是把FireFox换成了Chrome,Chrome也有提取网页XPath的功能。
然后根据这个具体的需求,增加了一些本地读取渠道信息和解析网页信息的逻辑。
channelInfo.plist的内容结构
特别说明一下,channelUpdateTimeXPathAttributeKey因为有些XPath拿到的数据是一个json串,需要通过一个key,才可以得到真正需要的内容。
解析html中的更新时间,先判断是否可以解析为字符串,不行再通过key在字典中读取。
具体问题具体分析吧,每个网页的结构可能都不一样,代码可以看这里:传送门