Hướng dẫn use python to login to website and download file - sử dụng python để đăng nhập vào trang web và tải xuống tệp

Nỗ lực của tôi để đăng nhập vào một trang web và tải xuống một tệp cụ thể đã bị rơi.

Cụ thể, tôi đang đăng nhập vào trang web này //www.gaez.iiasa.ac.at/w/ctrl?_flow=vwr&_view=welcome&fieldmain=main_lr_lco_cult&idps=0&idas=0&idfs=0

Để tôi có thể chọn các biến và tham số cụ thể trước khi tôi tải xuống tệp và lưu dưới dạng Excel hoặc CSV.

Cụ thể, tôi muốn chuyển đổi các đầu vào được tô sáng, trước khi chọn loại cây trồng, cấp nước, mức đầu vào, khoảng thời gian và khu vực địa lý trước khi tải xuống tệp dưới nút 'Trực quan hóa và tải xuống'.

, before selecting the type of crop, water supply, input level, time period, and geographic areas before downloading the file under 'Visualization and Download' button.

Ví dụ, tôi muốn lấy dữ liệu cho lúa mì [cây trồng], cung cấp mưa [cung cấp nước], cao [mức đầu vào], 1961-1990 [khoảng thời gian, đường cơ sở], Hoa Kỳ [khu vực địa lý]. Sau đó, tôi muốn lưu nó dưới dạng tệp Excel.

Đây là mã của tôi cho đến nay:

# Import library
import requests

# Define url, username, and password
url = '//www.gaez.iiasa.ac.at/w/ctrl?_flow=Vwr&_view=Welcome&fieldmain=main_lr_lco_cult&idPS=0&idAS=0&idFS=0'
user, password = 'Username', 'Password'
resp = requests.get[url, auth=[user, password]]

Có lẽ tôi đã ăn sâu vào các chiến hào của toàn bộ quá trình để thấy một giải pháp dễ dàng, khả thi, nhưng bất kỳ sự giúp đỡ nào cũng được đánh giá rất cao.

Yêu cầu là một thư viện HTTP đa năng trong Python với các ứng dụng khác nhau. Một trong những ứng dụng của nó là tải xuống một tệp từ Web bằng tệp URL.installation: Trước hết, bạn sẽ cần tải xuống thư viện yêu cầu. Bạn có thể trực tiếp cài đặt nó bằng PIP bằng cách nhập lệnh sau:
Installation: First of all, you would need to download the requests library. You can directly install it using pip by typing following command:

pip install requests

Hoặc tải xuống trực tiếp từ đây và cài đặt thủ công.

Tải tập tin

Món mã nhỏ được viết ở trên sẽ tải xuống hình ảnh sau từ web. Bây giờ hãy kiểm tra thư mục cục bộ của bạn [thư mục nơi tập lệnh này cư trú] và bạn sẽ tìm thấy hình ảnh này:

Tất cả những gì chúng ta cần là URL của nguồn hình ảnh. [Bạn có thể lấy URL của nguồn hình ảnh bằng cách nhấp chuột phải vào hình ảnh và chọn tùy chọn xem hình ảnh.]

Tải xuống các tập tin lớn

Nội dung phản hồi HTTP [R.Content] không là gì ngoài một chuỗi đang lưu trữ dữ liệu tệp. Vì vậy, nó đã giành chiến thắng để lưu tất cả dữ liệu trong một chuỗi trong trường hợp các tệp lớn. Để khắc phục vấn đề này, chúng tôi thực hiện một số thay đổi cho chương trình của mình:r.content] is nothing but a string which is storing the file data. So, it won’t be possible to save all the data in a single string in case of large files. To overcome this problem, we do some changes to our program:

  • Vì tất cả dữ liệu tệp có thể được lưu trữ bởi một chuỗi duy nhất, chúng tôi sử dụng phương thức r.iter_content để tải dữ liệu theo khối, chỉ định kích thước chunk.r.iter_content method to load data in chunks, specifying the chunk size.
  •  r = requests.get[URL, stream = True]

    Đặt tham số luồng thành true sẽ chỉ khiến việc tải xuống các tiêu đề phản hồi và kết nối vẫn mở. Điều này tránh đọc tất cả nội dung cùng một lúc vào bộ nhớ cho các phản hồi lớn. Một khối cố định sẽ được tải mỗi lần trong khi r.iter_content được lặp lại.stream parameter to True will cause the download of response headers only and the connection remains open. This avoids reading the content all at once into memory for large responses. A fixed chunk will be loaded each time while r.iter_content is iterated.

    Đây là một ví dụ:

    Tải xuống video

    Trong ví dụ này, chúng tôi quan tâm đến việc tải xuống tất cả các bài giảng video có sẵn trên trang web này. Tất cả các tài liệu lưu trữ của bài giảng này có sẵn ở đây. Vì vậy, trước tiên chúng tôi xóa trang web để trích xuất tất cả các liên kết video và sau đó tải xuống từng video.

    import requests 

    from bs4 import BeautifulSoup 

    def

    pip install requests
    0

    pip install requests
    1
    pip install requests
    2
    pip install requests
    3
    pip install requests
    4

    pip install requests
    1
    pip install requests
    6
    pip install requests
    3
    pip install requests
    8
    pip install requests
    9
     r = requests.get[URL, stream = True]
    0

    pip install requests
    1
     r = requests.get[URL, stream = True]
    2
    pip install requests
    3
     r = requests.get[URL, stream = True]
    4
     r = requests.get[URL, stream = True]
    5
     r = requests.get[URL, stream = True]
    0

    pip install requests
    1
     r = requests.get[URL, stream = True]
    8
    pip install requests
    3 import0import1

    pip install requests
    1requests 6 requests 7

    def requests 9

    pip install requests
    1import5 import6import7 from4

    from5from6

    pip install requests
    3 from8from9bs4 0bs4 1bs4 2bs4 3

    Các

    from5

    pip install requests
    2
    pip install requests
    3 import3
    pip install requests
    3 import5
     r = requests.get[URL, stream = True]
    0

    from5import8import9BeautifulSoup 0BeautifulSoup 1BeautifulSoup 2

    BeautifulSoup 3import5 BeautifulSoup 5import7 BeautifulSoup 7

    pip install requests
    3

    def3import9 def5

    def6def7

    from5bs4 5bs4 6

    pip install requests
    01bs4 8
    pip install requests
    03

    pip install requests
    1bs4 5
    pip install requests
    06
    pip install requests
    07
    pip install requests
    08

    pip install requests
    1requests 6

    import9

    pip install requests
    12
    pip install requests
    3
    pip install requests
    3
    pip install requests
    15
    pip install requests
    16

    pip install requests
    1
     r = requests.get[URL, stream = True]
    8
    pip install requests
    3
    pip install requests
    20

    pip install requests
    1
    pip install requests
    22

    Ưu điểm của việc sử dụng thư viện yêu cầu để tải xuống các tệp web là:

    • Người ta có thể dễ dàng tải xuống các thư mục web bằng cách lặp lại đệ quy thông qua trang web!
    • Đây là một phương pháp độc lập với trình duyệt và nhanh hơn nhiều!
    • Người ta có thể chỉ cần xóa một trang web để lấy tất cả các URL tệp trên trang web và do đó, tải xuống tất cả các tệp trong một lệnh-

      Thực hiện quét web trong Python với BeautifulSoup

    Blog này được đóng góp bởi Nikhil Kumar. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng Write.GeekSforGeek.org hoặc gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác.

    Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác, hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên.


    Làm cách nào để tự động tải xuống một tệp từ một trang web bằng Python?

    Nhập mô -đun. Nhập yêu cầu ..
    Nhận liên kết hoặc URL. url = '//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 cách nào để tải xuống tệp CSV từ trang web với thông tin đăng nhập cần sử dụng Python?

    Sau đó sử dụng gói selenium để lấy URL, chuyển tên người dùng và nhấp vào Đăng nhập và chuyển tên XPath hoặc Tag hoặc lớp NNaMeof mà CSV cho trình điều khiển và tải xuống CSV ...
    Nhập Urllib ..
    CSV = Urllib. Urlopen [URL]. đọc [] # trả về loại 'str'.
    với Open ['Tệp. CSV', 'W'] dưới dạng fx: # str, do đó chế độ 'w'.
    FX. Viết [CSV].

    Làm cách nào để đăng nhập vào một trang web bằng Python?

    Tìm URL của trang đăng nhập mà bạn muốn đăng nhập. Cung cấp vị trí Trình điều khiển Chrome có thể thực thi cho Selenium WebDriver để truy cập trình duyệt Chrome.Cuối cùng, hãy tìm tên hoặc ID hoặc bộ chọn CSS hoặc CSS của tên người dùng và mật khẩu bằng cách nhấp chuột phải kiểm tra tên người dùng và mật khẩu.

    Làm cách nào để tải xuống một tập tin từ một trang web?

    Lưu các tập tin:..
    Hầu hết các tập tin: Nhấp vào liên kết tải xuống.Hoặc, nhấp chuột phải vào tệp và chọn Lưu dưới dạng ..
    Hình ảnh: Nhấp chuột phải vào hình ảnh và chọn Lưu hình ảnh là ..
    Video: Chỉ vào video.Nhấp vào Tải xuống......
    PDFS: Nhấp chuột phải vào tệp và chọn Lưu liên kết dưới dạng ..
    Trang web: Ở trên cùng bên phải, nhấp vào thêm.Thêm công cụ..

    Bài Viết Liên Quan

    Chủ Đề