经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python 爬取网页中JavaScript动态添加的内容(一)
来源:cnblogs  作者:寒爵  时间:2018/9/28 16:56:22  对本文有异议

当我们进行网页爬虫时,我们会利用一定的规则从返回的 HTML 数据中提取出有效的信息。但是如果网页中含有 JavaScript 代码,我们必须经过渲染处理才能获得原始数据。此时,如果我们仍采用常规方法从中抓取数据,那么我们将一无所获。那么,通过Web kit可以简单解决这个问题。Web kit 可以实现浏览器所能处理的任何事情。对于某些浏览器来说,Web kit就是其底层的网页渲染工具。Web kit是QT库的一部分,因此如果你已经安装QTPyQT4库,那么你可以直接运行之。

1、环境准备

Linux:sudo apt-get install python-qt4

Windows:https://www.cnblogs.com/Jimc/p/9717238.html

2、使用

首先通过 Web kit 发送请求信息,然后等待网页被完全加载后将其赋值到某个变量中。接下来我们利用lxml从 HTML 数据中提取出有效的信息。这个过程需要一点时间。

  1. import sys
  2. from PyQt4.QtWebKit import *
  3. from PyQt4.QtGui import *
  4. from PyQt4.QtCore import *
  5. class Render(QWebPage): # 用来渲染网页,将url中的所有信息加载下来并存到一个新的框架中
  6. def __init__(self,url):
  7. self.app = QApplication(sys.argv)
  8. QWebPage.__init__(self)
  9. self.loadFinished.connect(self._loadFinished)
  10. self.mainFrame().load(QUrl(url))
  11. self.app.exec_()
  12. def _loadFinished(self, result):
  13. self.frame = self.mainFrame()
  14. self.app.quit()
  15. url = 'http://jandan.net/ooxx'
  16. r = Render(url)
  17. html = r.frame.toHtml()
  18. print(html)

 那么,后面的工作就是解析HTML代码了,这里不做讲解。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号