4

スクリーンショットが必要な多くのホストから何千もの URL を取得しています。

コマンド ラインから lib を使用できますが、同時に複数のスクリーンショットを撮ることができるようにコードに統合するにはどうすればよいですか?

この質問への回答と同様に、xvfb と関係があると思います: How to kill headless X server started via Python? しかし、正確にはわかりません。

4

3 に答える 3

1

私は(経由でインストールされた)subprocessを呼び出していましたが、うまくいきました。webkit2pngpython-webkit2png

def scrape_url(url, outpath):
    """
    Requires webkit2png to be on the path
    """
    subprocess.call(["webkit2png", "-o", outpath, "-g", "1000", "1260",
                     "-t", "30", url])

def scrape_list_urls(list_url_out_name, outdir):
    """
    list_url_out_name is a list of tuples: (url, name)
    where name.png will be the image's name
    """
    count = 0
    for url, name in list_url_out_name:
        print count
        count += 1
        outpath = outdir + name + '.png'
        scrape_url(url, outpath)
于 2013-10-15T07:09:18.093 に答える
0

おそらくこのようなもの(テストされていない):

from webkit2png import WebkitRenderer, init_qtgui
from PyQt4.QtCore import QTimer

def renderer_func():   
    renderer = WebkitRenderer()
    renderer.width = 800
    renderer.height = 600
    renderer.timeout = 10
    renderer.wait = 1
    renderer.format = "png"
    renderer.grabWholeWindow = False

    outfile = open("stackoverflow.png", "w")
    renderer.render_to_file(url="http://stackoverflow.com", file=outfile)
    outfile.close()

app = init_qtgui()
QTimer.singleShot(0, renderer_func)
sys.exit(app.exec_())

これは恥知らずにwebkit2png.pyのソースコードからはぎ取られました。

于 2010-04-30T12:02:09.153 に答える