import requests 请求下载网页ZIP 文件 直接保存指定文件夹
时间: 2024-06-10 09:07:03 浏览: 10
可以使用requests库的get方法下载网页ZIP文件,然后使用open方法保存到指定文件夹中。具体代码如下:
```python
import requests
import os
url = 'https://example.com/example.zip'
filename = 'example.zip'
folder = 'path/to/folder/'
response = requests.get(url)
if not os.path.exists(folder):
os.makedirs(folder)
with open(os.path.join(folder, filename), 'wb') as f:
f.write(response.content)
```
注意替换url、filename和folder为实际值。如果网页ZIP文件需要认证或者携带cookie才能下载,则需要在请求头中添加相应的信息。
相关问题
我想爬取这个网页https://data.binance.vision/?prefix=data/spot/daily/aggTrades/ETHUSDT/中的ZIP文件,并保存到本地,python如何实现:其中headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'} url = "https://data.binance.vision/?prefix=data/spot/daily/aggTrades/ETHUSDT/"
你可以使用Python的requests库来实现这个任务。在发送HTTP请求时,需要加入headers参数,模拟浏览器的请求头,否则可能会被网站拒绝访问。同时,由于ZIP文件比较大,我们需要使用stream模式来下载文件,避免一次性将整个文件读入内存。
以下是实现的代码:
```python
import requests
import os
# 创建保存ZIP文件的目录
if not os.path.exists("zip_files"):
os.makedirs("zip_files")
# 发送HTTP请求并获取网页内容
url = "https://data.binance.vision/data/spot/daily/aggTrades/ETHUSDT/"
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'}
response = requests.get(url, headers=headers)
# 解析HTML内容并找到ZIP文件链接
zip_link = url + response.content.split(b'"')[-2].decode()
# 下载并保存ZIP文件
filename = zip_link.split("/")[-1]
filepath = os.path.join("zip_files", filename)
response = requests.get(zip_link, headers=headers, stream=True)
with open(filepath, "wb") as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
print(f"Saved {filename} to local directory")
```
这个代码会将ZIP文件下载并保存到当前目录下的`zip_files`文件夹中。如果你想要保存到其他目录,可以修改代码中的`os.path.join()`函数的参数。同时,也可以修改headers中的User-Agent来模拟不同的浏览器。
我想爬取这个网页https://data.binance.vision/?prefix=data/spot/daily/aggTrades/ETHUSDT/中的所有ZIP文件,并保存到本地,python如何实现:其中headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'} url = "https://data.binance.vision/?prefix=data/spot/daily/aggTrades/ETHUSDT/"
你可以使用Python的requests和BeautifulSoup库来实现这个任务。在发送HTTP请求时,需要加入headers参数,模拟浏览器的请求头,否则可能会被网站拒绝访问。
以下是实现的代码:
```python
import requests
from bs4 import BeautifulSoup
import os
# 创建保存ZIP文件的目录
if not os.path.exists("zip_files"):
os.makedirs("zip_files")
# 发送HTTP请求并获取网页内容
url = "https://data.binance.vision/?prefix=data/spot/daily/aggTrades/ETHUSDT/"
headers = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36'}
response = requests.get(url, headers=headers)
# 解析HTML内容并找到所有的ZIP文件链接
soup = BeautifulSoup(response.content, "html.parser")
links = soup.find_all("a")
zip_links = [link.get("href") for link in links if link.get("href").endswith(".zip")]
# 下载并保存ZIP文件
for zip_link in zip_links:
filename = zip_link.split("/")[-1]
filepath = os.path.join("zip_files", filename)
response = requests.get(zip_link, headers=headers)
with open(filepath, "wb") as f:
f.write(response.content)
print(f"Saved {filename} to local directory")
```
这个代码会将所有的ZIP文件下载并保存到当前目录下的`zip_files`文件夹中。如果你想要保存到其他目录,可以修改代码中的`os.path.join()`函数的参数。同时,也可以修改headers中的User-Agent来模拟不同的浏览器。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)