首页 » 建站教程 » Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案「qt界面传数据」

Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案「qt界面传数据」

访客 2024-09-22 0

扫一扫用手机浏览

文章目录 [+]

Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案

关注极迭代,和小伙伴一起看↗↗↗

python在进行页面爬取时,常常会碰到需要爬取的页面显示正常,但通过urllib爬下来的内容,只有很少的html代码。这时候往往是碰到了,采用javascript动态生成的页面。

Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案「qt界面传数据」 Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案「qt界面传数据」 建站教程

动态JS页面>天生/strong>

Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案「qt界面传数据」 Python爬虫在处理由Javascript动态生成的页面时有哪些解决方案「qt界面传数据」 建站教程
(图片来自网络侵删)

现在页面的设计逻辑,已经从后端进行数据的处理后,返回包含了数据和页面格式的页面的服务端渲染方式。

变成为有些网站大量使用ajax和js,动态从后端请求和获取数据,然后再通过document.createElement等dom操作函数,填充界面div和 css来达到展示的效果。

这也为我们使用python进行数据采集,增加了很大的难度。

简单的来说,,我们需要一个能够处理js的爬取机制。

在最简化的情况下,我们可以去尝试识别js中究竟访问了哪些接口,然后有针对性的调整代码逻辑,依次访问对应接口获取相应数据。

但当如果一个网站刻意想要混淆js,或者采取了动态的JS标签,来增大爬取数据的难度。这时我们就需要一个支持模拟浏览器访问的方式,来获取数据。

模拟浏览器

python常见支持的模拟浏览器主要有

  • Web kit Web kit 可以实现浏览器所能处理的任何事情。

很多浏览器都是基于Webkit的,比如chrome和苹果的safari。Web kit 也是QT库的一部分,因此如果你已经安装QT和PyQT4库,那么你可以直接运行之。

sudo apt-get install python-qt4
  • selenium,selenium是一个测试框架,可以与chrome、IE、Firefox、PhantomJS 进行整合。

对于第三方网站而言,它们会认为就是一个正常的浏览器来访问网站,而这个浏览器就能够完成js的解析工作,返回一个包含完整数据的网页信息,然后我们就可以对这些网页信息进行解析.比如用beautifulsoup4,获得想要的数据,

代码实例(干货在此,有图有真相)

以下是我编写的一个使用python+selenium+chrome+线程池,简单多次请求一个页面的例子

这里为了演示一个完整请求流程,多线程粗暴的重启chrome实例来进行多次请求,效率是较低的,正常的生产代码,应该尽量充分复用已打开的实例。

❤❤❤❤❤ 请任性点赞,谢谢关注  -- 我是 极迭代 ,我为自己带盐 :)

Go语言与Qt的区别

Go语音是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。它一般被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

而Qt是跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。

c语言可以做web exe客户端吗

C语言可以用于开发WebExe客户端,但是使用C语言来开发WebExe客户端会比较复杂和繁琐。C语言是一种低级的编程语言,主要用于系统级编程,对于网络通信和用户界面的处理能力相对较弱,需要自己实现很多底层的功能。

而现代WebExe客户端通常需要处理网络请求、渲染界面、操作系统交互等功能,因此更常使用高级的编程语言,比如JavaScript、C#等来开发,能够更高效地完成这些任务。

是的,C语言可以用于开发Web EXE客户端。虽然C语言主要用于系统级编程,但它也可以用于开发网络应用程序。通过使用C语言的网络编程库,如libcurl,可以实现与Web服务器的通信。

此外,C语言还可以通过使用图形库(如GTK+或Qt)来创建用户界面,以实现Web EXE客户端的功能。因此,使用C语言可以开发功能强大的Web EXE客户端应用程序。

标签:

相关文章

IT行业领军品牌,创新驱动,引领未来

随着科技的飞速发展,IT行业已经成为推动全球经济增长的重要引擎。在这个充满挑战与机遇的领域,一些领军品牌以其卓越的创新能力和强大的...

建站教程 2024-12-26 阅读0 评论0