在服务器端扒数据快是快,可惜现在很多网页都会用ajax加载数据

优采云 发布时间: 2021-03-29 22:16

  在服务器端扒数据快是快,可惜现在很多网页都会用ajax加载数据

  在服务器端提取数据更快。不幸的是,许多网页现在都使用Ajax加载数据。您在页面上看到的内容不在您拉回的HTML中。我想问一下在服务器端是否有任何可以解释和执行的内容。

  尽管我也可以分析ajax请求并分析操作以获取我想要的数据。但是以防万一,我遇到了杂乱无章的js或性格极差的混淆js,我的心情并没有那么大。

  浏览器,实际上,浏览器已经呈现了各种各样的东西,我可以使用浏览器通过js对其进行提取吗?

  想法1,要分析多个页面的数据,分别加载它们

  想法二,js无法跨域操作和读取,使用主机文件重定向来欺骗js

  一般步骤

  1.将您要分析的域名重定向到主机文件(例如)到12 7. 0. 0. 1

  2.目前正在访问/.html,实际上是在访问此计算机

  3.将.html加载到浏览器中之后,转到主机文件并立即注释掉重定向

  4.各种各样的DNS缓存清除,否则您将无法读取网站的真实内容。

  5.这时,单击.html之一,然后将src指向要分析的页面,例如/.html,然后DNS会向真正的网站解释

  6.绑定事件,它将在内容加载后自动执行,此页面中分析页面数据的主要逻辑是

  7.分析页面后,将src指向要分析的下一页。加载后,将触发一个事件并循环,直到分析完所有页面为止。 。

  值得关注的地方

  我找到了两个著名的购物商店网站来尝试。效果不错。读取隐藏的数据很容易,但是我仍然发现一些需要注意的地方:

  1.秋天

  如果网站使用掉落效果,则页面需要向下滚动以加载内容。通过扩展,将加载需要与用户交互的任何内容(滚动,单击,键入或等待一段时间)。您需要模拟这些事件。由于时间原因,没有单独的测试。

  2.一次只能处理一个域名

  在通常情况下,假冒的/.html中的js仅能处理数据,不能处理跨域()甚至跨子域()和父域()。除非显式设置了父域或子域,并且您的js程序也被设置为相同的值,否则可以跨越这些域。

  因此,在通常情况下,此方法只能*敏*感*词*使用。幸运的是,大多数网站都没有太多的子域。

  3.不能太频繁地访问,请注意另一方将您列入黑名单。

  与服务器端相比

  js方法更适用于具有复杂js行为或数据的网站。其缺点是效率不如服务器快。加载图像,CSS,JS等会消耗时间,并且无法完全自动化。

  写在最后

  数据仅用于学习和研究,请勿在各种*敏*感*词*的情况下使用。 。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线