Hướng dẫn python download all files from url directory - python tải xuống tất cả các tệp từ thư mục url

Đã hỏi 5 năm, 1 tháng trước 5 years, 1 month ago

Đã xem 9k lần 9k times

4

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang viết một chương trình/kịch bản trong Python3. Tôi biết cách tải xuống các tệp đơn từ URL, nhưng tôi cần tải xuống toàn bộ thư mục, giải nén các tệp và hợp nhất các tệp văn bản.

Có thể tải xuống tất cả các tệp từ đây xuống thư mục mới trên máy tính của tôi với Python không? Tôi đang sử dụng một urllib để tải xuống một tệp, bất cứ ai có thể đưa ra một ví dụ về cách tải xuống toàn bộ thư mục từ liên kết ở trên không?

Hỏi ngày 20 tháng 9 năm 2017 lúc 12:20Sep 20, 2017 at 12:20

1

Cài đặt BS4 và các yêu cầu, hơn là bạn có thể sử dụng mã như thế này:

import bs4
import requests

url = "http://bossa.pl/pub/metastock/ofe/sesjaofe/"
r = requests.get(url)
data = bs4.BeautifulSoup(r.text, "html.parser")
for l in data.find_all("a"):
    r = requests.get(url + l["href"])
    print(r.status_code)

Hơn bạn phải lưu dữ liệu của yêu cầu vào thư mục của bạn.

Đã trả lời ngày 20 tháng 9 năm 2017 lúc 12:48Sep 20, 2017 at 12:48

Hướng dẫn python download all files from url directory - python tải xuống tất cả các tệp từ thư mục url

MegaingmegaingMegaIng

6,9831 Huy hiệu vàng22 Huy hiệu bạc34 Huy hiệu đồng1 gold badge22 silver badges34 bronze badges

4

Trình tải xuống thư mục là một thư viện Python để tải xuống các tệp từ các trang web sử dụng chức năng danh sách thư mục được sử dụng chủ yếu trong Apache/nginx và FTP một ví dụ có thể được nhìn thấy ở đây

Phụ thuộc

Trước khi cài đặt, hãy đảm bảo bạn có các phụ thuộc cần thiết của Asyncio, AioHttp, BS4 và Colorama.

Cài đặt

Sử dụng PIP Trình quản lý gói để cài đặt thư mục_downloader.

pip install directory-downloader 

Cách sử dụng

import asyncio
from directory_downloader import DDownloader


async def main():
    url = "https://example.com/directory/"
    downloader = DDownloader()
    await downloader.crawl(url)  # fetch all the links from /directory/
    await downloader.download_files()  # download all files to current directory


if __name__ == '__main__':
    asyncio.run(main())

Sử dụng nâng cao

Để vô hiệu hóa màu:

downloader = DDownloader(coloring=False)

Để vô hiệu hóa chế độ Verbose:

downloader = DDownloader(verbose=False)

Để thay đổi thư mục chỉ cần thêm:

downloader.download_files(full_directory=r"C:\Users\User\Desktop")

Để tải xuống nhanh hơn, bạn có thể tăng số lượng công nhân (theo mặc định 5):

downloader.download_files(workers=5)

Lưu ý: Tăng số lượng công nhân quá nhiều có thể dẫn đến việc sử dụng hành vi không ổn định không ổn định

Để tìm nạp các liên kết tệp có phần mở rộng của PDF, bạn có thể sử dụng:

await downloader.crawl(extensions=[".pdf"])

Bạn cũng có thể sử dụng Regex như sau:

await downloader.crawl(filter=r"test\d\d\d\.apk")   

Để tải xuống một danh sách các URL hiện có, bạn có thể làm như sau:

urls = set(["www.example/example/file1.pdf","www.example/example/file2.pdf",...])
await downloader.download_files(urls=urls)

Ngoài ra, bạn có thể sử dụng bộ lọc trên các tệp có thể tải xuống:

pip install directory-downloader 
0

Đóng góp

Yêu cầu kéo được chào đón. Đối với những thay đổi lớn, xin vui lòng mở một vấn đề trước để thảo luận về những gì bạn muốn thay đổi.

Làm thế nào tải xuống tất cả các tập tin từ trang web Python?

Nhập mô -đun. Nhập yêu cầu ..
Nhận liên kết hoặc URL. url = 'https://www.facebook.com/favicon.ico' r = requests.get (url, allow_redirects = true).
Lưu nội dung với tên. Mở ('Facebook.ICO', 'WB'). Viết (R.Content) lưu tệp dưới dạng Facebook. ....
Nhận tên tệp từ một url. Để có được tên tệp, chúng ta có thể phân tích URL ..

Làm thế nào để bạn tải xuống dữ liệu từ một url trong python?

Để tải xuống một tệp từ URL bằng Python, hãy làm theo ba bước sau:..
Cài đặt mô -đun yêu cầu và nhập nó vào dự án của bạn ..
Sử dụng yêu cầu.Nhận () để tải xuống dữ liệu đằng sau url đó ..
Viết tệp vào tệp trong hệ thống của bạn bằng cách gọi Open () ..

Làm cách nào để tải xuống nhiều URL từ Python?

# Tải xuống tất cả các tập tin từ một trang web tuần tự.từ HĐH nhập khẩu makedirs ..
từ hệ điều hành.Đường dẫn nhập cơ sở.từ hệ điều hành.Tham gia nhập khẩu đường dẫn ..
từ Urllib.Yêu cầu nhập urlopen.từ Urllib.Nhập Urljoin nhập phân tích ..
Từ BS4 Nhập cảnh đẹp ..
# Tải tệp từ URL, trả về nội dung của tệp đã tải xuống.DEF download_url (urlpath):.

Làm cách nào để tải xuống một thư mục trong Python?

Bước 1: Tạo a.Tệp NetRC để lưu trữ mật khẩu của bạn.....
Bước 2: Liệt kê tất cả các liên kết từ một thư mục web.Chúng tôi sẽ sử dụng các yêu cầu tải xuống dữ liệu và phân tích cú pháp HTML với Stringio và Etree.....
Bước 3: Phân loại liên kết thành các thư mục và tệp dữ liệu.....
Bước 4: Vòng lặp qua các thư mục con và tải xuống tất cả các tệp dữ liệu mới ..