Computer >> Máy Tính >  >> Lập trình >> Python

Truy cập Internet bằng mô-đun urllib.request bằng Python

Giới thiệu

Chúng tôi sử dụng urllib.request mô-đun bằng Python để truy cập và mở các URL, thường sử dụng giao thức HTTP.

Giao diện sử dụng cũng rất đơn giản cho người mới bắt đầu sử dụng và học hỏi; nó sử dụng urlopen chức năng có thể tìm nạp các URL khác nhau bằng nhiều giao thức khác nhau.

Bạn sẽ hiểu rõ hơn về những gì chúng tôi đang làm việc, khi chúng tôi bắt đầu sử dụng các chức năng khác nhau của nó. Vì vậy, hãy để chúng tôi bắt đầu.

Bắt đầu

urllib thư viện được đóng gói cùng với Python. Vì vậy, bạn không cần phải cài đặt riêng nó, nhưng trong trường hợp bạn muốn thêm nó vào môi trường của mình mà chưa có, bạn có thể cài đặt nó bằng cách sử dụng trình quản lý gói pip.

Khởi chạy thiết bị đầu cuối của bạn và sử dụng mã bên dưới,

pip install urllib

Sau khi cài đặt xong, bạn có thể nhập các mô-đun phù hợp và bắt đầu viết tập lệnh của mình.

Kiểm tra urllib.request

Chúng tôi thường sử dụng urllib.request để mở và đọc dữ liệu hoặc mã nguồn của trang. Điều này trở nên đặc biệt hữu ích nếu bạn đang cố gắng truy xuất dữ liệu từ một API. Ví dụ,

import urllib.request
request_url = urllib.request.urlopen('https://official−joke−api.appspot.com/random_ten')

Các dòng mã trên sẽ mở api trò đùa và đọc dữ liệu của nó.

Giả sử bạn muốn in nội dung của nó, bạn có thể sử dụng -

print(request_url.read())

Lưu ý - Điều này sẽ in ra giá trị ở định dạng byte. Nếu bạn muốn văn bản thuần túy, hãy sử dụng hàm giải mã.

print(request_url.read().decode())

Bạn thậm chí lưu dữ liệu từ API rồi phân tích cú pháp sau đó bằng RegEx để chỉ lấy dữ liệu cần thiết.

Ví dụ

import urllib.request
data = urllib.request.urlopen('https://official−joke−api.appspot.com/random_ten')
data = data.read().decode()
print(data)
file = open("content.txt", "w+")
file.write(data)
file.close()

Lưu ý - Bạn có thể truy cập URL bằng nhiều giao thức khác nhau, bao gồm FTP, HTTPS, v.v. urlopen hoạt động theo cùng một cách cho tất cả các giao thức khác nhau.

Gửi dữ liệu tới URL

Nếu bạn đang làm việc với Giao diện cổng chung, bạn có thể muốn gửi dữ liệu đến một URL. Điều này tương tự như cách nó hoạt động với HTTP, nơi nó gửi các yêu cầu POST.

Bạn có thể đạt được điều này bằng cách sử dụng urllib.request cùng với các mô-đun urllib.parse.

Hãy để chúng tôi nhập các mô-đun trước.

Ví dụ

import urllib.parse
import urllib.request
url = 'https://www.google.com/cgi-bin/register.cgi'
values = {'name' : 'S Vijay Balaji', language' : 'Python' }
data = urllib.parse.urlencode(values)
data = data.encode('ascii')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as response:
   the_page = response.read()

Sau đó, điều này sẽ in ra mã nguồn từ URL được cung cấp.

Kết luận

Mô-đun urllib.request rất hữu ích vì chúng tôi có thể truy xuất tài nguyên internet và lấy dữ liệu từ chúng.

Nó rất hữu ích khi phân tích dữ liệu từ một API hoặc đọc qua mã nguồn của một trang web để loại bỏ nội dung của nó.

Dự án nơi urllib.request được sử dụng để trích xuất dữ liệu từ các API khác nhau - https://github.com/SVijayB/Steam_WebScraper.

Có nhiều chức năng khác từ mô-đun urllib.request. Nếu bạn tò mò và muốn tìm hiểu thêm, bạn có thể xem qua tài liệu chính thức của họ tại− https://docs.python.org/3/library/urllib.request.html.