js 爬虫抓取网页数据(这是JS、CSS、JSON文件,robots屏蔽依然抓取的情况)

优采云 发布时间: 2021-10-21 05:48

  js 爬虫抓取网页数据(这是JS、CSS、JSON文件,robots屏蔽依然抓取的情况)

  这是一个存在多年、经常出现但一直没有标准解决方案的问题:搜索引擎爬虫(尤其是百度)爬取JS、CSS、JSON文件,robots块依然爬取。

  这导致了几个问题:

  1、爬虫抓取JS、CSS是干什么的?

2、爬虫能否执行JS?

3、爬虫抓取JS对SEO有什么影响?

  针对以上问题,我谈谈我的看法:

  第一个是爬虫抓取CSS来判断页面元素的重要性,保证快照展示的完整性;抓取JS寻找新链接,判断是否有作弊

  其次,JS会被执行,但不确定是否所有的JS都会被执行。就像网上很多人说的,“搜索引擎会直接忽略JS、iframe等,只抓取纯文本信息”。这从实际情况来看是站不住脚的。如果搜索引擎不是JS和iframes的鸟,那对一些搞黑帽子的同学来说不是很酷吗?(不明白为什么很酷?请阅读前两篇关于黑帽的文章文章,你就会明白!)

  第三,我不知道这个。在某些情况下,可能会占用爬网配额。但是,少数有蜘蛛爬JS的站点的流量没有异常。

  说起来,我现在的工作站在上半年就有这种情况。百度疯狂抓json,机器人屏蔽各种无效。但是,没有出现流量下降等异常情况。本来,我的心理承受能力是根本。这种情况我不关心┏(゜ω゜)=☞,但是查看json爬取率真的让我很紧张,接近40%,对,你没看错,40%,假设百度一天抓到100 万页,400,000 是 json 的东西。

  然后我发*敏*感*词*额。也就是说,对于百度给出的爬取频率数据,爬取json的部分不计算在内,相当于一次奖励爬取。从这个角度来看,它应该对SEO没有影响。没有占用爬取配额的问题,但是爬取比总是很痛苦,我决定解决这个情况。

  经过排查,发现有些页面收录一个功能:当页面被请求时,首先判断访问用户是否登录,如果登录,则返回历史记录中用户访问过的其他产品,如果没有登录,则返回指定的内容。返回的内容转换成json文件(没错,就是百度狂抢的),然后传给前端js,js解析json文件,在前端界面显示解析出来的json数据。

  使用异步加载。从业务逻辑上来看,如果页面的访问者没有执行这个js,就说明页面没有加载完成。

  json路径在js中是纯文本写的。不知道百度是识别json路径还是执行js。不管怎样,只要抓取一个收录这个函数的页面,它就会顺便抓取对应的json文件。

  综上所述,有两种预定的解决方案:

  第一种是直接删除这个函数对应的JS

  二是面对搜索引擎访问,不返回这个js。所以蜘蛛根本看不到它,所以它不会抓住它。

  最后因为这个功能上线一个多月了,但是数据表现差,点击率低,我直接砍掉了这个功能.......然后第二天就在看log,json爬取量为0.。....

  -------------------------------------------------- ---------------------------

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线