如果我有google fastflip等网站的网址列表,我想知道抓取屏幕截图的技巧。这种任务需要哪些技术或技术。如果这种技术在rails中可用,那就太棒了。
由于
答案 0 :(得分:1)
您需要HTML rendering engine。
简单的方法是为该任务使用浏览器插件。
答案 1 :(得分:1)
sudo apt-get install xvfb imagemagick x11-apps
然后使用sudo运行下面的shell脚到一些“nobody user”,如下所示:
/usr/bin/sudo -u nobody /path/screengrab.sh www.ibm.com 34344 >>/tmp/screengrab.log 2>&1
您可能需要调整裁剪等。
#!/bin/bash
rm -rf /home/nobody/.mozilla/
XAUTHORITY=
Xvfb :$2 -pixdepths 32 -screen 0 1024x1024x24 >/dev/null 2>&1 &
XPID=$!
sleep 1
firefox -width 2000 -height 1024 --display :$2 http://$1 &
FPID=$!
sleep 6
xwd -display :$2 -root -out /tmp/$2-$$.xwd
convert /tmp/$2-$$.xwd /u0/screengrabs/$1.png # Cache
convert -resize 300x300 /tmp/$2.xwd /tmp/$2-$$.png
convert -crop 287x248+0+29 /tmp/${2}-$$.png /tmp/${2}2-$$.png
mkdir -p /home/je/www/domaintool.se/docs/images/$1
cp /tmp/${2}2-$$.png /home/je/www/domaintool.se/docs/images/$1/`date +%Y%m%d`.png
rm -f /tmp/$2-$$.png /tmp/$2-$$.xwd /tmp/${2}2-$$.png
kill $XPID >/dev/null 2>&1
kill $FPID >/dev/null 2>&1
答案 2 :(得分:1)
我一直在使用这个优秀的Firefox插件Grab Them All https://addons.mozilla.org/en-US/firefox/addon/7800/这是作者的一个版本,也是优秀的Screengrab添加。
抓住他们All允许您将浏览器指向URL列表,然后在指定目录中为您生成所有屏幕截图。它适用于大多数网站。
然而,我正在尝试生成Google Maps URLS的屏幕截图,这些屏幕截图目前对我不起作用,因为页面不是标准页面 - 它们使用框架等。但对于大多数用途,上面的内容很棒 - 超级快速且容易建立。希望有所帮助。