2017-12-26 13 views
0

私はウェブから情報を掻き出したいと思っていました。以前の試みでは、Mac OS X上でスクリプトを開発してからvmで頻繁に実行するので、ドッカーは私のスクリプトを実行するのに便利でした。依存関係がubuntuに存在せず、構築が困難であることが証明されているので実行しないでください。dockerイメージのスクレイピングスクリプトの開発 - ビジュアルブラウザの欠如を解決する方法

Dockerは依存関係の問題を克服していますが、ドッカーのイメージ上で非ヘッドレスモードでスクリプトを開発して、それが何をしているのかを知る必要があります。ドッカーでは、非ヘッドレスモードでブラウザを実行することはできないと思います。

他の人がこの問題を克服するか、そうでなければ回避する方法を教えてください。私は、

私は@Haraldノルグレンは私がこれは私が実行しているスクリプトの一種であるhere

を築く助けたことをこの画像に、セレンをのpython3を使用していますが、それは実際にはまだ何もしていません。より多くの背景を提供するだけで役立ちます。

import csv 
import time 
from selenium import webdriver 
import os 
import logging #logging.warning(data_store+file) 
import json 

project_dir = os.path.dirname(os.path.realpath(__file__)) 
data_store = project_dir+"/trends-data/" 
archive_folder = "archive" 
data_archive = data_store + archive_folder + "/" 

chromeOptions = webdriver.ChromeOptions() 
chromeOptions.add_argument("--headless") 
prefs = {"download.default_directory" : data_store} 
chromeOptions.add_experimental_option("prefs",prefs) 
driver = webdriver.Chrome(
    project_dir+'/chromedriver', 
    chrome_options=chromeOptions 
) 

driver.get('https://trends.google.co.uk/trends/explore?q=query'); 
time.sleep(5) 
driver.find_element_by_class_name("ic_googleplus_reshare").click() 
time.sleep(5) 
driver.find_element_by_class_name("csv-image").click() 
time.sleep(5) 
driver.quit() 

答えて

0

視覚的スクレイピングはどのような依存性の問題を回避するために完了すると、あなたはドッカーとそれを実行することができ、最初に頭クロムとのpython3のvenvでローカルスクリプトを開発します。また

、ドッカーも、この引数を追加するには、chromeOptionsで、ヘッドレスChromeを実行するために:

chromeOptions.add_argument("no-sandbox") 
関連する問題