js 爬虫抓取网页数据(别的项目组什么项目突然心血来潮想研究一下爬虫、分析的简单原型)

优采云 发布时间: 2022-03-30 06:02

  js 爬虫抓取网页数据(别的项目组什么项目突然心血来潮想研究一下爬虫、分析的简单原型)

  由于其他项目组都在做舆情预测项目,我只是手头没有项目,突然想研究一个简单的爬虫原型,一时兴起分析。网上有很多关于这方面的资料,看得我眼花缭乱。对于我这种新手,想做一个简单的爬虫程序,所以HttpClient + jsoup是个不错的选择。前者是用来管理请求的,后者是用来解析页面的,主要是后者的select语法和jquery很像,对我这个用js的人来说太方便了。

  昨天和他们聊天时,他们使用了几个知名的开源框架。聊了几句,他们发现自己没有办法爬取动态网页,尤其是一些重要的数字,比如评论数和回复数。等等我有一个大致的了解。比如TRS的爬虫需要编写js脚本进行js调用,但分析量巨大。他们的技术人员告诉我们,如果他们匹配这样的模板,他们每天只能匹配2到3个。,更何况我们这些中途修士。碰巧这是一个相当大的挑战,所以我昨天答应他们,看看他们是否能找到一个相对简单的解决方案,当然,不管效率如何。

  举个简单的例子,如下图

  

  “我有话要说”后面的1307是后载的,但这些数字往往对舆情分析更重要。

  对需求有了大致的了解后,我们来分析如何解决它们。通常,我们对请求得到的响应中收录js代码和html元素,所以像jsoup这样的html解析器很难在这里发挥优势,因为它所能得到的html,1307还没有生成。这时候就需要一个可以运行js的平台,运行js代码后的页面会被html解析,这样才能正确得到结果。

  因为懒,一开始写脚本的方式被我抛弃了,因为分析一个页面太痛苦,代码乱成一锅粥,而且很多还用了压缩的方式,都是分别是 a(), b() 方法,太累了,看不下去了。所以我的首要任务是,为什么我不能让这个地址在某个浏览器中运行,然后将运行结果交给html解析器进行解析,那么整个问题就解决了。这样,我的临时解决方案是在爬虫服务器上打开一个后台浏览器,或者是带有浏览器内核的程序,将url地址交给它去请求,然后从浏览器中取出页面的元素并交给交给它吧。html 解析器进行解析以获取您想要的信息。

  明天再说吧,先休息吧。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线