簡體   English   中英

使用 urllib.request.urlretrieve 從網絡復制文件,但沒有粘貼任何內容

[英]copying files from web using urllib.request.urlretrieve, but nothing is pasted

我正在嘗試使用以下代碼從網站復制文件並在本地保存它們。 但是我的本地驅動程序顯示保存的文件是空的(即,每個 excel 文件都已創建但包含 1 KB 內存)。 關於為什么這不起作用的任何評論?

import urllib.request
import pathlib

folder_euronext = "C:/myfolder/"
url_euronext = "https://live.euronext.com/sites/default/files/statistics/factbook/yearly/"
for i in range(2013,2020):
    filename = "euronext_fact_book_"+str(i)+".xls" if i <= 2016 else "euronext_fact_book_"+str(i)+".xlsx"
    print(url_euronext+filename)
    if pathlib.Path(folder_euronext+filename).exists():
        print(filename,"exists...")
    else: 
        urllib.request.urlretrieve(url_euronext+filename, folder_euronext+filename)
        print("Copying and pasting",filename)

下面試試這個。 您需要安裝請求

import requests
import pathlib
import time

headers = {'User-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36c'}

folder_euronext = pathlib.Path(".")

url_euronext = "https://live.euronext.com/sites/default/files/statistics/factbook/yearly/"
for i in range(2013,2020):
    filename = "euronext_fact_book_"+str(i)+".xls" if i <= 2016 else "euronext_fact_book_"+str(i)+".xlsx"
    print(url_euronext+filename)
    target = folder_euronext / filename
    if pathlib.Path(target).exists():
        print(filename,"exists...")
    else: 
        resp = requests.get(url_euronext+filename, headers=headers)
        with open(target, 'wb') as f:
            f.write(resp.content)

        print("Copying and pasting",filename)
        
    time.sleep(2.0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM