ghost.py会允许我的用户刮掉javascript注入的图像吗?

时间:2013-09-28 02:07:59

标签: python django qt web-scraping ghost.py

我的网站http://whatgoeswiththis.co有一个刮刀,可以从网络上获取图片并发布到我们的网站。我可以获得服务器渲染图像没有问题,但对于像https://www.everlane.com/collections/mens-luxury-tees/products/mens-crew-antique这样的网站,图像使用javascript呈现在客户端。

我已成功在我的本地计算机上编写一个脚本,该脚本使用ghost.py来扫描此站点的图像。

但是,我必须在我的笔记本电脑上安装各种程序,如Qt,PySide,PyQt4和XQuartz。据我所知,这些不是我可以添加到我的应用程序的库。我的问题是,这个堆栈是否可以添加到我现有的Django应用程序,允许用户刮掉这些javascript注入的图像?或者是否有另一种用于webapps的解决方案?

http://wanelo.com这样的网站能够抓取这些图片 - 特别是他们使用的是一种最佳解决方案吗?

感谢您的帮助,如果我听起来没经验,我会道歉(我只是在学习!)。

2 个答案:

答案 0 :(得分:0)

我目前的答案是:也许ghost.py有效。但只有在我发现很多先决条件后才发现难以安装和配置。我的解决方案是遵循Pyklar的建议,通过selenium库使用PhantomJS:https://stackoverflow.com/a/15699761/2532070

只需更改几行代码brew install phantomjspip install selenium,我就可以从beautifulsoup切换到selenium / phantomjs。

我希望这可以帮助别人避免同样的斗争!

答案 1 :(得分:0)

您可以执行以下操作:

g = Ghost()
g.open(url, wait=False)
page, resources = g.wait_for_selector(your_image_css_selector)