selenium python chromedriver скачать zip файл - PullRequest
1 голос
/ 18 июня 2020

Я хотел бы загрузить zip-файлы (образцы доменов) с этого сайта.

Мой код похож на ниже

import pandas
import requests
import os
import glob
import zipfile
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) ' \
             'Chrome/80.0.3987.132 Safari/537.36'

project_dir = os.path.dirname(os.path.realpath(__file__))

options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--ignore-certificate-errors')
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument(f'user-agent={user_agent}')
options.add_experimental_option("prefs", {
  "download.default_directory": project_dir,
  "download.prompt_for_download": False,
  "download.directory_upgrade": True,
  "safebrowsing.enabled": True
})
options.headless = True

with webdriver.Chrome(options=options) as driver:
    # --- download the sample domain zip files ---
    driver.get("https://whoisds.com/newly-registered-domains")
    wait = WebDriverWait(driver, 20)
    zip_file_link = '//td/a[contains(@href, "newly-registered-domains")]'
    links = driver.find_elements_by_xpath(zip_file_link)
    for link in links:
        driver.execute_script("arguments[0].click();", link)
        time.sleep(50)
        # I am not sure below code is necessary or not.
        # -----------------------------------------
        zip_ref = zipfile.ZipFile(project_dir, 'r')
        zip_ref.extractall(project_dir)
        zip_ref.close()
        # -----------------------------------------
....

Но он показывает ошибку ниже.

Traceback (most recent call last):
      File "whois.py", line 51, in <module>
        zip_ref = zipfile.ZipFile(project_dir, 'r')
      File "C:\Users\David\Anaconda3\lib\zipfile.py", line 1207, in __init__
        self.fp = io.open(file, filemode)
 PermissionError: [Errno 13] Permission denied: 'D:\\Project\\whois.com'

Я прочитал много сообщений о StackOverflow, но не смог найти правильный способ. Пожалуйста, научите меня скачивать zip-файлы. Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...