制定关于搬运工像刮脚本 - 如何克服缺乏视觉浏览器?(Developing scraping scr

2019-10-28 22:19发布

我想刮从网上和以前的尝试信息告诉我,搬运工将是有益的对,因为我开发Mac OS X上的脚本来运行我的脚本,然后在虚拟机上运行Ubuntu的经常经常将无法运行因为依赖关系不存在于Ubuntu和已被证明难以建立。

码头工人克服依赖的问题,但这个现在我引到一个不同的问题,我需要开发的泊坞窗图像上非无头模式下运行脚本,看看它在做什么(或者至少我觉得我做的),但是,码头工人,我不要认为这是可能运行在非无头模式的浏览器。

如何他人解决这个问题或周围其他方式获得?

我使用python3,硒这种图像上@Harald诺帮我建在这里

这是那种我跑剧本,但它并没有真正做任何事情,我只是包括它提供更多的背景,在它的帮助。

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()

Answer 1:

首先在领导Chrome中的python3 VENV本地开发的脚本,那么你可以一次视觉刮完毕,以避免任何依赖性问题与泊坞运行它。

另外,多克尔在你chromeOptions运行无头的浏览器,还可以添加这样的说法:

chromeOptions.add_argument("no-sandbox")


文章来源: Developing scraping script on docker image - how to overcome lack of visual browser?