动态网页抓取(一下动态网页的另一种方法逆向分析啦!!)

优采云 发布时间: 2022-03-16 05:02

  动态网页抓取(一下动态网页的另一种方法逆向分析啦!!)

  首先,让我们谈谈动态网页,它们是 HTML 和 CSS 元素,它们以客户端语言更改页面。例如,一个网页通过加载一个网页将你带到另一个页面,但页面的 URL 链接没有改变,或者当你点击空白处时页面会改变颜色。

  然后是客户端脚本语言,它们是在浏览器上运行的语言,而不是在服务器上运行的语言。互联网上通常会遇到两种客户端语言:ActionScript(用于开发 Flash 应用程序的语言)和 JavaScript。

  JavaScript 常用于为网页添加各种动态功能,为用户提供更流畅、更美观的浏览效果。通常 JavaScript 脚本嵌入在 HTML 中以实现自己的功能。

  例如,对于一个下拉加载的动态网页,加载后可以在浏览器的开发者工具的网络中的JS选项中看到它刚刚执行的JavaScript,点击就可以看到代码。

  目前已经写了少量爬虫。对于动态网页,比如下拉加载图片,在developer tools/network/image中找到图片,分析图片地址的特征,然后在js中找到javascript文件,里面可能收录如果能找到标准图片信息,或者网页的跳转关系,可以很方便的编写程序,将图片下载到图片地址。

  这种方法是逆向分析。

  另一种爬取动态网页的方法是模拟浏览器,通常使用 Selenium+PhantomJS。

  Selenium 是一个浏览器自动化测试框架,最初是为自动化测试而开发的,现在也用于网络数据采集。框架底层使用 JavaScript 模拟真实用户操作浏览器。执行测试脚本时,浏览器会自动根据脚本代码进行点击、进入、打开、验证等操作,就像真实用户一样,站在终端用户的角度对应用进行测试。

  Selenium 没有自己的浏览器,需要与第三方浏览器配合使用。之前用过火狐,每次运行都会打开一个浏览器窗口,程序的运行情况一目了然。另一方面,PhantomJS 是无头浏览器,不显示浏览器窗口。

  Selenium+PhantomJS 可以运行一个非常强大的网络爬虫,它可以处理 cookie、JavaScript、标头以及您需要做的任何其他事情。

  2018-03-01 13:50

  不知道有没有喜欢的朋友,嘿嘿,,, Ծ^Ծ,,

  没有图的答案就注定没有点赞吗?

  这是一条更新线路,下面的信息是旧消息。

  反正是原答案,不忍心删。如果您不喜欢它,请跳过它。

  ╯▂╰

  我刚刚在寒假学习这个。几天前我想爬一个 网站 。我在开发者工具里看数据,爬成静态网页,然后爬下来就找不到数据了。

  后来才知道,在开发者工具中看到的网页源代码是用JavaScript渲染的,没有我想要的数据的源代码是通过Requests获取的。

  之前看书的时候,提到过 selenium 模块。考虑到用它来模拟浏览器不容易被逆,我用它爬过12306查票,但是速度真的很慢。测试网速需要设置等待网页刷新的时间。

  我能想到的第一个方法是使用 selenium,但我非常反对认为它的速度无法满足我的需求。(呃(~_~;)

  那我们就去百度一下,肯定会有其他的解决办法。

  然后在CSDN上有一篇非常完整的文章。

  用大佬的总结:

  动态网页可以通过逆向分析尽可能地逆向,其稳定性和效率是其他解决方案无法比拟的。通常有一个关于爬虫的口口相传的真相。如果在浏览器中点击并使用F12的方式,就可以解决90%的爬虫问题,剩下的10%需要动动脑筋。对于动态页面抓取来说更是如此。如果你能扭转它,试着扭转它。如果无法逆转,那就找一个折中的解决方案。在折衷方案中,可以尽量使用深度控制JS脚本执行方案(难度稍大),其次是基于Browser自动化测试框架的标准(即selenium和PhantomJs)爬取。

  欲了解更多信息,请访问 网站:

  /yanbober/article/details/73822475?locationNum=3&fps=1

  时间:2018-02-10 01:23

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线