Cách lấy url trong python

Hướng dẫn này chỉ cho bạn cách thực hiện các yêu cầu nhận HTTP đơn giản để nhận trang HTML từ một URL nhất định bằng Python

Xây dựng vấn đề

Đưa ra một URL dưới dạng một chuỗi. Làm cách nào để trích xuất HTML từ URL đã cho và lưu kết quả vào biến chuỗi Python?

Thí dụ. Nói rằng, bạn muốn thực hiện những điều sau đây

url = '//google.com'

# .. Code to extract HTML page here ...

print[result]
# .. Google HTML file:
'''
Google...
'''

Hãy nghiên cứu bốn phương pháp quan trọng nhất để truy cập một trang web trong tập lệnh Python của bạn

Phương pháp 1. yêu cầu. lấy [url]

Giải pháp đơn giản nhất là như sau

import requests
print[requests.get[url = '//google.com'].text]

Đây là cách hoạt động của một lớp lót này

  • Nhập thư viện Python
    import requests
    print[requests.get[url = '//google.com'].text]
    0 xử lý các chi tiết yêu cầu trang web từ máy chủ ở định dạng dễ xử lý
  • Sử dụng phương thức
    import requests
    print[requests.get[url = '//google.com'].text]
    1 để truy cập trang web và chuyển URL
    import requests
    print[requests.get[url = '//google.com'].text]
    2 làm đối số để hàm biết vị trí nào sẽ truy cập
  • Truy cập phần thân thực của get
    import requests
    print[requests.get[url = '//google.com'].text]
    3 [giá trị trả về là một đối tượng yêu cầu cũng chứa một số thông tin meta hữu ích như loại tệp, v.v. ]
  • In kết quả ra shell

Đầu ra là trang web Google mong muốn

'''
Google...
'''

Lưu ý rằng bạn có thể phải cài đặt thư viện yêu cầu bằng lệnh sau trong thiết bị đầu cuối hệ điều hành của mình

$ pip install requests

Phương pháp 2. Một lớp lót với các yêu cầu. lấy[]

Đôi khi bạn không muốn mở phiên Python tương tác để truy cập URL. Không thành vấn đề, bạn có thể đặt giải pháp trước đó thành một lớp lót và chạy nó từ dòng lệnh hoặc thiết bị đầu cuối của hệ điều hành của bạn

Lưu ý rằng dấu chấm phẩy được sử dụng để lót một phương thức đã thảo luận trước đó. Điều này hữu ích nếu bạn muốn chạy lệnh này từ hệ điều hành của mình bằng lệnh sau

________số 8

Một lần nữa, đầu ra là trang Google HTML mong muốn

'''
Google...
'''

Phương pháp 3. urllib. lời yêu cầu

Một cách được đề xuất để tìm nạp tài nguyên web từ một trang web là hàm

import requests
print[requests.get[url = '//google.com'].text]
4. Điều này cũng hoạt động để tạo một lớp lót đơn giản để truy cập trang web Google bằng Python 3 như trước đây

import requests
print[requests.get[url = '//google.com'].text]
1

Một lần nữa, bạn trả về một đối tượng

import requests
print[requests.get[url = '//google.com'].text]
5 có thể được truy cập để đọc phản hồi của máy chủ

Lưu ý rằng điều này đọc tệp dưới dạng chuỗi byte. Nếu bạn muốn đọc tệp HTML dưới dạng chuỗi, bạn cần chuyển đổi kết quả bằng phương thức

import requests
print[requests.get[url = '//google.com'].text]
6 của Python

import requests
print[requests.get[url = '//google.com'].text]
4

Đây là đầu ra của đoạn mã này với hầu hết nội dung HTML được bỏ qua cho ngắn gọn

import requests
print[requests.get[url = '//google.com'].text]
5

🌍 Hướng dẫn đề xuất. Làm cách nào để mở một URL trong trình duyệt của bạn từ tập lệnh Python?

Phương pháp 4. Một lớp lót với urllib. lời yêu cầu

Bạn cũng có thể nhồi nhét mọi thứ vào một dòng để bạn có thể chạy nó từ thiết bị đầu cuối của hệ điều hành của mình

import requests
print[requests.get[url = '//google.com'].text]
6

Tự mình thử

Bạn có thể tự thử Phương pháp 1 và 3 trong sổ tay Jupyter tương tác của chúng tôi với URL trang web mong muốn của riêng bạn

Nhấp để lấy mã HTML từ URL của riêng bạn trong trình duyệt của bạn

Để nâng cao kỹ năng của bạn về Python, vui lòng xem qua học viện email Python toàn diện nhất thế giới và tải xuống bảng gian lận Python của bạn tại đây

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Chủ Đề