/ / Tìm hiểu cách tạo công cụ kiểm tra trạng thái trang web bằng Python

Tìm hiểu cách tạo công cụ kiểm tra trạng thái trang web bằng Python

Nếu bạn thường xuyên thấy mình tìm nạp dữ liệu từ các trang web, có lẽ bạn nên xem xét việc tự động hóa quy trình. Đôi khi được gọi là “duyệt web”, quy trình này là một quy trình phổ biến đối với các trang web không cung cấp nguồn cấp dữ liệu hoặc API chính thức. Tất nhiên, bạn sẽ không đi đến đâu nếu trang web bạn đang cố gắng tìm nạp không khả dụng.

Nếu bạn điều hành trang web của riêng mình, bạn có thể đã phải đối phó với thời gian chết trước đây. Nó có thể gây khó chịu, khiến bạn mất khách truy cập và làm gián đoạn bất kỳ hoạt động nào mà trang web của bạn có thể chịu trách nhiệm. Trong những trường hợp như vậy, bạn phải trả tiền để có thể dễ dàng kiểm tra tính khả dụng của trang web của mình.

Python là một ngôn ngữ tuyệt vời để viết tập lệnh và cú pháp ngắn gọn nhưng dễ đọc của nó làm cho việc triển khai trình kiểm tra trang web trở thành một nhiệm vụ đơn giản.

Tạo trình kiểm tra trang web được cá nhân hóa của bạn

Trình kiểm tra trang web được thiết kế riêng để phù hợp với nhiều trang web cùng một lúc. Điều này cho phép bạn dễ dàng chuyển đổi các trang web mà bạn không còn quan tâm hoặc bắt đầu kiểm tra các trang web mà bạn khởi chạy trong tương lai. Trình kiểm tra là một “ứng dụng khung” lý tưởng mà bạn có thể xây dựng thêm, nhưng nó thể hiện một cách tiếp cận cơ bản để tìm nạp dữ liệu web.


Nhập thư viện bằng Python

Để bắt đầu dự án, bạn phải nhập yêu cầu thư viện bằng Python với nhập khẩu hàm số.

import requests

Thư viện Yêu cầu rất hữu ích để giao tiếp với các trang web. Bạn có thể sử dụng nó để gửi các yêu cầu HTTP và nhận dữ liệu phản hồi.

Lưu trữ các URL của trang web trong một danh sách

Sau khi nhập thư viện, bạn nên xác định và lưu trữ các URL của trang web trong một danh sách. Bước này cho phép bạn giữ lại nhiều URL mà bạn có thể kiểm tra bằng trình kiểm tra trang web.

import requests

website_url = [
"https://www.google.co.in",
"https://www.yahoo.com",
"https://www.amazon.co.in",
"https://www.pipsnacks.com/404",
"http://the-internet.herokuapp.com/status_codes/301",
"http://the-internet.herokuapp.com/status_codes/500"
]

Biến website_url lưu trữ danh sách các URL. Bên trong danh sách, hãy xác định từng URL bạn muốn kiểm tra dưới dạng một chuỗi riêng lẻ. Bạn có thể sử dụng các URL mẫu trong mã để kiểm tra hoặc bạn có thể thay thế chúng để bắt đầu kiểm tra các trang web của riêng bạn ngay lập tức.

Tiếp theo, lưu trữ các thông báo cho các mã phản hồi HTTP phổ biến. Bạn có thể giữ chúng trong từ điển và lập chỉ mục từng tin nhắn theo mã trạng thái tương ứng của nó. Sau đó, chương trình của bạn có thể sử dụng những thông báo này thay vì mã trạng thái để dễ đọc hơn.

statuses = {
200: "Website Available",
301: "Permanent Redirect",
302: "Temporary Redirect",
404: "Not Found",
500: "Internal Server Error",
503: "Service Unavailable"
}

Tạo vòng lặp để kiểm tra trạng thái trang web

Để kiểm tra lần lượt từng URL, bạn sẽ muốn xem qua danh sách các trang web. Bên trong vòng lặp, hãy kiểm tra trạng thái của từng trang web bằng cách gửi yêu cầu qua thư viện yêu cầu.

for url in website_url:
try:
web_response = requests.get(url)
print(url, statuses[web_response.status_code])

except:
print(url, statuses[web_response.status_code])

Ở đâu:

  • cho url …lặp qua danh sách các URL.
  • url là biến mà vòng lặp for gán cho mỗi URL.
  • thử / ngoại trừ xử lý mọi trường hợp ngoại lệ có thể phát sinh.
  • web_response là một biến cung cấp thuộc tính với mã trạng thái của phản hồi

Toàn bộ đoạn mã

Nếu bạn muốn xem lại toàn bộ mã trong một lần, đây là danh sách mã đầy đủ để tham khảo.

import requests

website_url = [
"https://www.google.co.in",
"https://www.yahoo.com",
"https://www.amazon.co.in",
"https://www.pipsnacks.com/404",
"http://the-internet.herokuapp.com/status_codes/301",
"http://the-internet.herokuapp.com/status_codes/500"
]

statuses = {
200: "Website Available",
301: "Permanent Redirect",
302: "Temporary Redirect",
404: "Not Found",
500: "Internal Server Error",
503: "Service Unavailable"
}

for url in website_url:
try:
web_response = requests.get(url)
print(url, statuses[web_response.status_code])

except:
print(url, statuses[web_response.status_code])

Và đây là một ví dụ về đoạn mã:

Khả năng mã hóa của Python trong Web Scraping

Thư viện bên thứ ba của Python lý tưởng cho các tác vụ như quét web và tìm nạp dữ liệu qua HTTP.

Bạn có thể gửi các yêu cầu tự động đến các trang web để thực hiện nhiều loại tác vụ khác nhau. Chúng có thể bao gồm đọc tiêu đề tin tức, tải xuống hình ảnh và gửi email tự động.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *