Я хотел бы загрузить 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-файлы. Любая помощь приветствуется.