Ich möchte von der Bahn kratzen info und einem früheren Versuch hat mich, dass Docker gelehrt wäre nützlich gewesen mein Skript auf laufen, da ich das Skript auf Mac OS X entwickeln und es dann auf einem vm laufen oft ubuntu es oft gewonnen‘ t laufen, da die Abhängigkeiten auf Ubuntu nicht existieren und sich als schwer zu erstellen erwiesen haben.Entwickeln Scraping-Skript auf Docker-Bild - wie fehlende visuelle Browser zu überwinden?
Docker überwindet das Abhängigkeitsproblem, aber das führt mich jetzt zu einem anderen Problem, da ich das Skript im nicht kopflosen Modus auf dem Docker-Image entwickeln muss, um zu sehen, was es tut (oder zumindest denke ich, dass ich es tue) aber auf Docker glaube ich nicht, dass es möglich ist, den Browser im Nicht-Headless-Modus auszuführen.
Wie andere dieses Problem überwinden oder auf andere Weise um es zu bekommen?
Ich verwende python3, Selen auf diesem Bild, dass @Harald Norgren mich here mitaufbauten
Dies ist die Art von Skript, das ich renne, aber es hat nicht wirklich etwas noch tun, ich bin nur um es mehr Hintergrund in es hilfreich zu bieten.
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()