博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用python抓取js生成的数据 - SegmentFault
阅读量:6958 次
发布时间:2019-06-27

本文共 1104 字,大约阅读时间需要 3 分钟。

如何用python抓取js生成的数据

想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓到呢? 最好是用python

7 个回答

采纳

如果对抓取的性能没有什么要求的话, 尝试一下selenium或者watir吧.

web自动化测试脚本用好了可以做很多事情.
利用你的浏览器执行好js, 然后再从dom里面取数据.

另外一个情况, 如果你知道js是通过ajax或者api取数据的, 直接去抓数据源, 得到的不是json就是xml, 然后处理数据吧

  • 2
    · 2012年11月23日

    更简单

  • 1
    · 2012年11月27日 回复 :

    看起来不错,我以前一直在幻想有没有记录鼠标和键盘操作,甚至于想动手写一个,现在竟然发现了,怎一个感谢了得!

采纳

基于webkit的,写js就行。

用python调它,用起来很爽。

采纳

对于JS生成的数据,你是没有办法获取的。除非直接遍历dom还是有可能……

一种办法是可以考虑用userscript,获取数据然后post到服务器等就随你自己的喜欢了

还有一种办法(假设是在win32),可以使用com组件调用IE然后获取动态生成的dom树,然后再做处理

当年试过改firefox的程序来做这个,不过也很麻烦

当然,你也可以用python什么自己实现一套浏览器和js引擎,那么这些数据肯定是你自己的了,不过还不如直接改或者用com组件

但是你说的爬虫爬取js生成的,那是没有办法的:(不管怎么样,一定要实现dom树,要让js能执行,那么就相当于你要实现一套简单的浏览器了

采纳

可以试着用 , 获得 JS 执行后的 dom。

采纳

目前认为比较好的一个方案是采用python+gtk+pywebkit,相当于基于webkit自己写一个定制的浏览器,这样可以在网页中插入自己的js,遍历dom等都是非常容易的。这个组合在ubuntu下还是非常容易搭建的。

sudo apt-get install python-gtk python-webkit,即可。

采纳

采纳

转载地址:http://omlil.baihongyu.com/

你可能感兴趣的文章
关于HashMap详解。
查看>>
多线程环境下慎用静态变量
查看>>
话里话外:抓住核心,为推倒“部门墙” 寻找突破口
查看>>
删除此电脑下各种影视库
查看>>
python几个内置函数
查看>>
百度今天更新很大
查看>>
我的友情链接
查看>>
有线网络高可用项目实施方案(更新中)
查看>>
dpkg的用法
查看>>
notepad++开发中常用的插件
查看>>
手动发送HTTP请求调用Web Service
查看>>
巧用Office365中的Exchange Online Protection(一)
查看>>
linux入门第一讲
查看>>
我的友情链接
查看>>
一些有用的php包与简单例子
查看>>
smarty注册函数
查看>>
yum源配置的三种方法
查看>>
springmvc配置多访问方法
查看>>
RHEL/CentOS6(6.6)虚拟化入门指南(1)
查看>>
我的友情链接
查看>>