python - selenium python chromedriver 下载zip文件
问题描述
我想下载这个站点的 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 文件。任何帮助表示赞赏。
解决方案
推荐阅读
- python - 我的用户身份验证不起作用仅显示注销链接,否则语句不起作用
- c# - 硒保护端口
- jekyll - Jekyll 包含来自另一个集合的内容
- html - 隐藏的溢出不适用于伪前后元素
- python - Python pandas 到 groupby 数据框列并使用它们来计算 excel 表中的新列
- angular - 使用错误拦截器时服务未触发模式
- javascript - 保存来自 Javascript 订阅的数据
- ios - Xcode:表格视图单元格页面导航后导航栏不可选
- c# - 在 RestSharp 中解析 JSON 返回“System.NullReferenceException:对象引用未设置为对象的实例。”
- javascript - 在时刻时间戳之前添加字符串