对于一些加密的动态网页的数据采集,除了通过phantomjs还有没有别的通用的方法

长效的方案,用Selenium Webdriver集群,配合Phantom无头浏览器是比较可行的方案。

■网友
谢邀!无论采用什么混淆技术,最后都要在浏览器中把数字显示出来,所以,如果采用抓包,然后模拟http消息的方式抓数据,题主说的问题都存在,挨个破解确实挺麻烦的,但是,如果直接从DOM中抓数据,题主说的那些问题都不是障碍。我写的GooSeeker爬虫是直接修改了浏览器内核,可以模拟人的操作,包括在百度指数图表上移动鼠标后抓取浮动显示的数字。当他们要在浏览器显示出来时,必然存在于DOM中,不管是html5还是svg图,只要不是用特殊插件显示的内容,抓取方法都一样。真正有挑战的是百度指数数字的识别问题。百度指数抓取要比淘宝指数难(不知道淘宝改版没有 ),因为他们的数字用图片显示的。还不是普通的图片,比如,12345,这串数字不是在图片上挨着显示的,而是在一张大背景图上,好多乱码,其中包含这5个数字,用css控制,把这5个数字按照顺序“露”出来。这样,OCR程序也犯难了。本来去年夏天我们要给一科研单位解决这个问题,能解决,把css中的显示位置数值也抓下来,根据css的定位,把数字小图切下来,合一起交给ocr。图、css参数等等都能用GooSeeker抓取下来。再开发一个拼装程序就行了。问题是是否值得去做。数据抓取就是这样,只要有足够投入,很多数据都能抓,是否值得去做?所以这个事情一直没有做。
■网友
你可以找个软件进行采集啊,比如我以前用的前嗅的ForeSpider软件,就很好用。他自己有专利的js引擎,采集js动态网页是没有问题的,你可以试试,他们软件现在也有免费版,你可以下个看看。希望对你有帮助。
■网友
【对于一些加密的动态网页的数据采集,除了通过phantomjs还有没有别的通用的方法】 可以使用pyppeteer啊,这个比phantomjs效率高多了,具体可以参考下面这篇文章,博主整合了一些常用的方法;《Pyppeteer:比selenium更高效的爬虫界的新神器》


    推荐阅读