Python Truy cập Internet bằng Urllib.Request và urlopen()
urllib là gì?
urllib là một Python mô-đun có thể được sử dụng để mở URL. Nó định nghĩa các hàm và lớp để trợ giúp trong các hành động URL.
Với Python bạn cũng có thể truy cập và truy xuất dữ liệu từ internet như XML, HTML, JSON, v.v. Bạn cũng có thể sử dụng Python để làm việc trực tiếp với dữ liệu này. Trong hướng dẫn này, chúng ta sẽ xem cách chúng ta có thể truy xuất dữ liệu từ web. Ví dụ: ở đây chúng tôi đã sử dụng URL video guru99 và chúng tôi sẽ truy cập URL video này bằng cách sử dụng Python cũng như in tệp HTML của URL này.
Cách mở URL bằng Urllib
Trước khi chạy mã để kết nối với dữ liệu Internet, chúng tôi cần nhập câu lệnh cho mô-đun thư viện URL hoặc “urllib”.
- Nhập urllib
- Xác định chức năng chính của bạn
- Khai báo biến webUrl
- Sau đó gọi hàm urlopen trên thư viện URL lib
- URL chúng tôi đang mở là hướng dẫn guru99 trên youtube
- Tiếp theo chúng ta sẽ in mã kết quả
- Mã kết quả được lấy ra bằng cách gọi hàm getcode trên biến webUrl mà chúng ta đã tạo
- Chúng ta sẽ chuyển đổi nó thành một chuỗi để có thể nối nó với chuỗi “mã kết quả” của chúng ta
- Đây sẽ là mã HTTP thông thường “200”, cho biết yêu cầu http được xử lý thành công
Cách lấy URL biểu mẫu tệp HTML trong Python
Bạn cũng có thể đọc tệp HTML bằng cách sử dụng “chức năng đọc” trong Pythonvà khi bạn chạy mã, tệp HTML sẽ xuất hiện trong bảng điều khiển.
- Gọi hàm đọc trên biến webURL
- Biến Read cho phép đọc nội dung của file dữ liệu
- Đọc toàn bộ nội dung của URL vào một biến gọi là data
- Chạy mã- Nó sẽ in dữ liệu sang định dạng HTML
Đây là mã hoàn chỉnh
Python 2 Ví dụ
# # read the data from the URL and print it # import urllib2 def main(): # open a connection to a URL using urllib2 webUrl = urllib2.urlopen("https://www.youtube.com/user/guru99com") #get the result code and print it print "result code: " + str(webUrl.getcode()) # read the data from the URL and print it data = webUrl.read() print data if __name__ == "__main__": main()
Python 3 Ví dụ
# # read the data from the URL and print it # import urllib.request # open a connection to a URL using urllib webUrl = urllib.request.urlopen('https://www.youtube.com/user/guru99com') #get the result code and print it print ("result code: " + str(webUrl.getcode())) # read the data from the URL and print it data = webUrl.read() print (data)