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”.

Mở URL bằng 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.

URL biểu mẫu tệp HTML ở Python

  • 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)