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

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

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

1赞 收藏

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

连接

7 个回答

3赞
采纳

若是对抓取的性能没有什么要求的话, 尝试一下selenium或者watir吧.
web自动化测试脚本用好了能够作不少事情.
利用你的浏览器执行好js, 而后再从dom里面取数据.git

另一个状况, 若是你知道js是经过ajax或者api取数据的, 直接去抓数据源, 获得的不是json就是xml, 而后处理数据吧github

连接
1赞
采纳

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

一种办法是能够考虑用userscript,获取数据而后post到服务器等就随你本身的喜欢了segmentfault

还有一种办法(假设是在win32),能够使用com组件调用IE而后获取动态生成的dom树,而后再作处理api

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

固然,你也能够用python什么本身实现一套浏览器和js引擎,那么这些数据确定是你本身的了,不过还不如直接改或者用com组件

可是你说的爬虫爬取js生成的,那是没有办法的:(无论怎么样,必定要实现dom树,要让js能执行,那么就至关于你要实现一套简单的浏览器了

连接
0赞
采纳

目前认为比较好的一个方案是采用python+gtk+pywebkit,至关于基于webkit本身写一个定制的浏览器,这样能够在网页中插入本身的js,遍历dom等都是很是容易的。这个组合在ubuntu下仍是很是容易搭建的。
sudo apt-get install python-gtk python-webkit,便可。

连接
相关文章
相关标签/搜索