Làm cách nào để kiểm tra trạng thái của URL trong Python?

Trong hướng dẫn này, tôi sẽ chỉ cho bạn một mã python đơn giản có thể giúp bạn kiểm tra mã trạng thái của tất cả các URL trên trang web của mình

Đoạn mã này đặc biệt hữu ích khi bạn có một trang web lớn với nhiều url. Bạn có thể kiểm tra hàng loạt mã trạng thái và ghi chúng vào tệp csv để bạn có thể phân tích thêm

MÃ TRẠNG THÁI LÀ GÌ

Mã trạng thái là phản hồi của máy chủ từ yêu cầu của khách hàng đối với máy chủ web. Mã trạng thái mặc định là 200 có nghĩa là một yêu cầu thành công đã được thực hiện bởi khách hàng

Có 5 loại mã trạng thái khác nhau

1xx — Điều này cho chúng tôi biết rằng yêu cầu đã được nhận

2xx- Điều này cho thấy yêu cầu đã thành công

3xx — Cái này dành cho chuyển hướng [tạm thời và vĩnh viễn]

4xx — Lỗi máy khách

5xx- Lỗi máy chủ

Hãy để chúng tôi kiểm tra chặt chẽ các mã trạng thái http phổ biến

200. Đây là mã trạng thái mặc định và cho chúng tôi biết rằng mọi thứ đều ổn với trang mà chúng tôi đã yêu cầu. Nó đã được kết xuất thành công. Đây là tình huống lý tưởng cho mọi trang

301. Điều này là dành cho chuyển hướng vĩnh viễn. Khi bạn chuyển từ miền này sang miền khác, điều này đặc biệt hữu ích để chuyển hướng người dùng của bạn sang miền mới

302. Đây là chuyển hướng tạm thời. Khi bạn muốn thực hiện bảo trì trang web hoặc cố gắng chuyển hướng người dùng đến một liên kết tạm thời, bạn sẽ sử dụng 302

404. Mã trạng thái này thường chỉ ra rằng trang mà khách hàng đang yêu cầu không còn trên máy chủ web. Lỗi mã trạng thái 404 được gọi là lỗi phía Máy khách. Mã trạng thái 404 có thể do nhiều nguyên nhân khác nhau;

500. Điều này đề cập đến một lỗi máy chủ nội bộ

NHẬN MÃ TÌNH TRẠNG BẰNG PYTHON

Bây giờ chúng tôi đã biết mã trạng thái là gì, bây giờ chúng tôi sẽ muốn có thể kiểm tra mã trạng thái của tất cả các trang trên trang web của chúng tôi

Bước đầu tiên là tải xuống tất cả các URL trên trang web của bạn dưới dạng tệp csv hoặc excel. Nếu bạn đang sử dụng WordPress, có một số plugin có thể trợ giúp với tác vụ này. Ngoài ra, bạn có thể sử dụng bảng điều khiển tìm kiếm. Chuyển đến Hiệu suất, chọn Trang và tải xuống các URL dưới dạng csv

Khi đã xong, chúng ta có thể tiến hành viết tập lệnh python sẽ lấy mã trạng thái của toàn bộ url đã được tải xuống

Để lấy mã trạng thái trong python, chúng tôi sẽ sử dụng thư viện yêu cầu. Thư viện request là một thư viện siêu hữu ích giúp chúng ta thực hiện các yêu cầu http một cách dễ dàng. Bạn có thể đọc thêm từ tài liệu chính thức

Để bắt đầu với các yêu cầu, chúng tôi sẽ cần cài đặt nó

pip install requests

Điều này sẽ cài đặt thư viện yêu cầu để chúng tôi bắt đầu làm việc với

Bước tiếp theo là tải xuống tệp CSV của chúng tôi vào trình chỉnh sửa mã của chúng tôi. Tôi sẽ sử dụng gấu trúc

import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']

Bây giờ, chúng tôi sẽ lặp qua cột có các url và kiểm tra mã trạng thái của từng url được truyền

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status

Dòng cuối cùng của mã là để chúng tôi thêm cột 'Trạng thái' vào Khung dữ liệu của chúng tôi. Khi chúng tôi đã lặp qua từng url và kiểm tra mã trạng thái. Hãy để chúng tôi lưu nó dưới dạng tệp CSV

df.to_csv['Status_codes.csv']

Bạn có thể quyết định phân tích mã trạng thái sâu hơn. Điều gì sẽ xảy ra nếu bạn muốn biết các trang có liên kết bị hỏng và đang báo lỗi 404?

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]

Điều này sẽ xuất ra tất cả các trang có lỗi 404

Cảm ơn bạn đã đọc bài viết này về cách kiểm tra mã trạng thái với python. Nếu bạn thích đọc nó, xin vui lòng vỗ tay và chia sẻ bài viết

Xây dựng trình kiểm tra kết nối trang web bằng Python là một dự án thú vị để nâng cao kỹ năng của bạn. Với dự án này, bạn sẽ tích hợp kiến ​​thức liên quan đến xử lý các yêu cầu HTTP, tạo giao diện dòng lệnh [CLI] và tổ chức mã ứng dụng của bạn bằng cách sử dụng các phương pháp bố cục dự án Python phổ biến

Bằng cách xây dựng dự án này, bạn sẽ tìm hiểu cách các tính năng không đồng bộ của Python có thể giúp bạn xử lý nhiều yêu cầu HTTP một cách hiệu quả

Trong hướng dẫn này, bạn sẽ học cách

  • Tạo giao diện dòng lệnh [CLI] bằng cách sử dụng
    [venv] $ python -m pip install aiohttp
    
    1 của Python
  • Kiểm tra xem một trang web có đang trực tuyến hay không bằng cách sử dụng
    [venv] $ python -m pip install aiohttp
    
    2 của Python từ thư viện tiêu chuẩn
  • Thực hiện kiểm tra đồng bộ cho nhiều trang web
  • Kiểm tra xem một trang web có trực tuyến hay không bằng cách sử dụng thư viện của bên thứ ba
    [venv] $ python -m pip install aiohttp
    
    3
  • Thực hiện kiểm tra không đồng bộ cho nhiều trang web

Để tận dụng tối đa dự án này, bạn cần biết kiến ​​thức cơ bản về xử lý các yêu cầu HTTP và sử dụng

[venv] $ python -m pip install aiohttp
1 để tạo CLI. Bạn cũng nên làm quen với mô-đun
[venv] $ python -m pip install aiohttp
5 và các từ khóa

Nhưng đừng lo lắng. Các chủ đề trong suốt hướng dẫn sẽ được giới thiệu theo cách từng bước để bạn có thể nắm bắt chúng khi bạn tiếp tục. Ngoài ra, bạn có thể tải xuống toàn bộ mã nguồn và các tài nguyên khác cho dự án này bằng cách nhấp vào liên kết bên dưới

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Thử nghiệm. Trình kiểm tra kết nối trang web

Trong dự án từng bước này, bạn sẽ xây dựng một ứng dụng kiểm tra xem một hoặc nhiều trang web có trực tuyến tại một thời điểm nhất định hay không. Ứng dụng sẽ lấy danh sách các URL mục tiêu tại dòng lệnh và kiểm tra xem chúng có kết nối đồng bộ hoặc không đồng bộ không. Video sau đây cho thấy ứng dụng hoạt động như thế nào

Trình kiểm tra kết nối trang web của bạn có thể lấy một hoặc nhiều URL tại dòng lệnh. Sau đó, nó tạo một danh sách nội bộ gồm các URL mục tiêu và kiểm tra khả năng kết nối của chúng bằng cách đưa ra các yêu cầu HTTP và xử lý các phản hồi tương ứng

Việc sử dụng tùy chọn

[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9 khiến ứng dụng thực hiện kiểm tra kết nối không đồng bộ, có khả năng dẫn đến thời gian thực hiện thấp hơn, đặc biệt là khi bạn đang xử lý một danh sách dài các trang web

Loại bỏ các quảng cáo

Tổng quan dự án

Ứng dụng kiểm tra kết nối trang web của bạn sẽ cung cấp một số tùy chọn thông qua giao diện dòng lệnh tối thiểu [CLI]. Dưới đây là tóm tắt về các tùy chọn này

  • import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    20 hoặc
    import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    21 cho phép bạn cung cấp một hoặc nhiều URL mục tiêu tại dòng bình luận
  • import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    22 hoặc
    import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    23 cho phép bạn cung cấp tệp chứa danh sách URL để kiểm tra
  • [venv] $ python -m pip install aiohttp
    
    8 hoặc
    [venv] $ python -m pip install aiohttp
    
    9 cho phép bạn chạy kiểm tra kết nối không đồng bộ

Theo mặc định, ứng dụng của bạn sẽ chạy kiểm tra kết nối một cách đồng bộ. Nói cách khác, ứng dụng sẽ thực hiện kiểm tra lần lượt

Với tùy chọn

[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9, bạn có thể sửa đổi hành vi này và làm cho ứng dụng chạy kiểm tra kết nối đồng thời. Để làm điều này, bạn sẽ tận dụng các tính năng không đồng bộ của Python và thư viện của bên thứ ba
[venv] $ python -m pip install aiohttp
3

Chạy kiểm tra không đồng bộ có thể giúp trình kiểm tra kết nối trang web của bạn nhanh hơn và hiệu quả hơn, đặc biệt là khi bạn có một danh sách dài các URL cần kiểm tra

Trong nội bộ, ứng dụng của bạn sẽ sử dụng mô-đun thư viện tiêu chuẩn để tạo kết nối đến trang web mục tiêu. Khi bạn có kết nối, thì bạn có thể thực hiện yêu cầu HTTP tới trang web, hy vọng yêu cầu này sẽ phản hồi bằng phản hồi thích hợp. Nếu yêu cầu thành công, thì bạn sẽ biết rằng trang web đang trực tuyến. Nếu không, bạn sẽ biết rằng trang web đang ngoại tuyến

Để hiển thị kết quả của mọi lần kiểm tra kết nối trên màn hình của bạn, bạn sẽ cung cấp cho ứng dụng của mình một đầu ra được định dạng đẹp mắt để làm cho ứng dụng hấp dẫn người dùng của bạn

điều kiện tiên quyết

Dự án mà bạn sẽ xây dựng trong hướng dẫn này sẽ yêu cầu bạn phải làm quen với lập trình Python nói chung. Ngoài ra, nó sẽ yêu cầu kiến ​​​​thức cơ bản về các chủ đề sau

  • Xử lý ngoại lệ trong Python
  • Làm việc với tệp, câu lệnh
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    10 và mô-đun
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    11
  • Xử lý các yêu cầu HTTP bằng thư viện tiêu chuẩn hoặc công cụ của bên thứ ba
  • Tạo các ứng dụng CLI với mô-đun
    [venv] $ python -m pip install aiohttp
    
    1
  • Sử dụng các tính năng không đồng bộ của Python

Biết những kiến ​​thức cơ bản về thư viện bên thứ ba của

[venv] $ python -m pip install aiohttp
3 cũng sẽ là một điểm cộng nhưng không bắt buộc. Tuy nhiên, nếu bạn chưa có tất cả những kiến ​​thức này, thì cũng không sao. Bạn có thể tìm hiểu thêm bằng cách tiếp tục và thử dự án. Bạn luôn có thể dừng lại và xem lại các tài nguyên được liên kết tại đây nếu bạn gặp khó khăn

Với phần tổng quan ngắn này về dự án trình kiểm tra kết nối trang web của bạn và các điều kiện tiên quyết, bạn gần như đã sẵn sàng để bắt đầu Pythoning và tận hưởng niềm vui khi viết mã. Nhưng trước tiên, bạn cần tạo một môi trường làm việc phù hợp và thiết lập bố cục cho dự án của mình

Bước 1. Thiết lập dự án Trình kiểm tra kết nối trang web của bạn bằng Python

Trong phần này, bạn sẽ sẵn sàng bắt đầu mã hóa ứng dụng kiểm tra kết nối trang web của mình. Bạn sẽ bắt đầu bằng cách tạo môi trường ảo Python cho dự án. Môi trường này sẽ cho phép bạn cách ly dự án và các phần phụ thuộc của nó khỏi các dự án khác và cài đặt Python hệ thống của bạn

Bước tiếp theo là thiết lập bố cục của dự án bằng cách tạo tất cả các tệp cần thiết và cấu trúc thư mục

Để tải xuống mã cho bước đầu tiên này, hãy nhấp vào liên kết sau và điều hướng đến thư mục

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
14

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Thiết lập môi trường phát triển

Trước khi bạn bắt đầu mã hóa một dự án mới, bạn nên thực hiện một số bước chuẩn bị. Trong Python, bạn thường bắt đầu bằng việc tạo một môi trường ảo cho dự án. Một môi trường ảo cung cấp một trình thông dịch Python biệt lập và một không gian để cài đặt các phụ thuộc của dự án của bạn

Để bắt đầu, hãy tiếp tục và tạo thư mục gốc của dự án, được gọi là

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
15. Sau đó di chuyển đến thư mục này và chạy các lệnh sau trên dòng lệnh hoặc thiết bị đầu cuối của hệ thống của bạn

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
7

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
8

Lệnh đầu tiên tạo một môi trường ảo Python đầy đủ chức năng có tên là

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
16 bên trong thư mục gốc của dự án, trong khi lệnh thứ hai kích hoạt môi trường. Bây giờ hãy chạy lệnh sau để cài đặt các phụ thuộc của dự án với
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
17, trình quản lý gói Python tiêu chuẩn

[venv] $ python -m pip install aiohttp

Với lệnh này, bạn cài đặt

[venv] $ python -m pip install aiohttp
3 vào môi trường ảo của mình. Bạn sẽ sử dụng thư viện bên thứ ba này cùng với các tính năng
[venv] $ python -m pip install aiohttp
6 của Python để xử lý các yêu cầu HTTP không đồng bộ trong ứng dụng kiểm tra kết nối trang web của bạn

Mát mẻ. Bạn có một môi trường ảo Python đang hoạt động với tất cả các thành phần phụ thuộc mà bạn sẽ cần để bắt đầu xây dựng dự án của mình. Giờ đây, bạn có thể tạo bố cục của dự án để sắp xếp mã của mình theo các phương pháp hay nhất về Python

Loại bỏ các quảng cáo

Tổ chức Dự án Trình kiểm tra Kết nối Trang web của Bạn

Python linh hoạt một cách đáng ngạc nhiên khi nói đến việc cấu trúc các ứng dụng, vì vậy bạn có thể tìm thấy các cấu trúc khá khác nhau giữa các dự án. Tuy nhiên, nhỏ thường có một gói duy nhất, thường được đặt tên theo chính dự án

Theo phương pháp này, bạn có thể tổ chức ứng dụng kiểm tra kết nối trang web của mình bằng cấu trúc thư mục sau

import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
2

Bạn có thể sử dụng bất kỳ tên nào cho dự án này và gói chính của nó. Trong hướng dẫn này, dự án sẽ được đặt tên là

df.to_csv['Status_codes.csv']
50 dưới dạng kết hợp giữa Real Python [
df.to_csv['Status_codes.csv']
51] và
df.to_csv['Status_codes.csv']
52, chỉ ra chức năng chính của ứng dụng

Tệp

df.to_csv['Status_codes.csv']
53 sẽ chứa mô tả của dự án và hướng dẫn cài đặt và chạy ứng dụng. Thêm tệp
df.to_csv['Status_codes.csv']
53 vào dự án của bạn là cách thực hành tốt nhất trong lập trình, đặc biệt nếu bạn dự định phát hành dự án dưới dạng giải pháp nguồn mở. Để tìm hiểu thêm về cách viết các tệp
df.to_csv['Status_codes.csv']
53 tốt, hãy xem Cách viết README tuyệt vời cho dự án GitHub của bạn

Tệp

df.to_csv['Status_codes.csv']
56 sẽ chứa danh sách các phụ thuộc bên ngoài của dự án của bạn. Trong trường hợp này, bạn chỉ cần thư viện
[venv] $ python -m pip install aiohttp
3, vì phần còn lại của các công cụ và mô-đun mà bạn sẽ sử dụng đều có sẵn trong thư viện chuẩn của Python. Bạn có thể sử dụng tệp này để tự động tái tạo môi trường ảo Python thích hợp cho ứng dụng của mình bằng cách sử dụng
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
17, trình quản lý gói tiêu chuẩn

Ghi chú. Bạn sẽ không thêm nội dung vào tệp

df.to_csv['Status_codes.csv']
53 và
df.to_csv['Status_codes.csv']
56 trong hướng dẫn này. Để xem nội dung của chúng, hãy tải xuống tài liệu bổ sung được cung cấp trong hướng dẫn này và xem các tệp tương ứng

Trong thư mục

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
61, bạn sẽ có các tệp sau

  • for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
    if status == 404:
    print[url]
    62 cho phép
    for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
    if status == 404:
    print[url]
    61 dưới dạng gói Python
  • for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
    if status == 404:
    print[url]
    64 hoạt động như một tập lệnh điểm đầu vào cho ứng dụng
  • for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
    if status == 404:
    print[url]
    65 cung cấp các chức năng cốt lõi của ứng dụng
  • for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
    if status == 404:
    print[url]
    66 chứa giao diện dòng lệnh cho ứng dụng

Bây giờ hãy tiếp tục và tạo tất cả các tệp này dưới dạng tệp trống. Bạn có thể làm điều này bằng cách sử dụng trình soạn thảo mã hoặc IDE yêu thích của mình. Khi bạn hoàn thành việc tạo bố cục của dự án, bạn có thể bắt đầu mã hóa chức năng chính của ứng dụng. kiểm tra xem một trang web có trực tuyến hay không

Bước 2. Kiểm tra khả năng kết nối của trang web bằng Python

Tại thời điểm này, bạn nên có một môi trường ảo Python phù hợp với các phụ thuộc của dự án được cài đặt trong đó. Bạn cũng nên có một thư mục dự án chứa tất cả các tệp mà bạn sẽ sử dụng trong suốt hướng dẫn này. Đã đến lúc bắt đầu viết mã

Trước khi nhảy vào nội dung thực sự thú vị, hãy tiếp tục và thêm số phiên bản của ứng dụng vào mô-đun

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
62 trong gói
df.to_csv['Status_codes.csv']
50 của bạn

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
1

Hằng số cấp mô-đun

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
69 giữ số phiên bản hiện tại của dự án của bạn. Vì bạn đang tạo một ứng dụng hoàn toàn mới nên phiên bản ban đầu được đặt thành
[venv] $ python -m pip install aiohttp
60. Với thiết lập tối thiểu này, bạn có thể bắt đầu triển khai chức năng kiểm tra kết nối

Để tải xuống mã cho bước này, hãy nhấp vào liên kết sau và xem bên trong thư mục

[venv] $ python -m pip install aiohttp
61

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Triển khai chức năng kiểm tra kết nối

Có một số công cụ và thư viện Python mà bạn có thể sử dụng để kiểm tra xem một trang web có trực tuyến tại một thời điểm nhất định hay không. Ví dụ: một tùy chọn phổ biến là thư viện bên thứ ba

[venv] $ python -m pip install aiohttp
62, cho phép bạn thực hiện các yêu cầu HTTP bằng cách sử dụng API mà con người có thể đọc được

Tuy nhiên, sử dụng

[venv] $ python -m pip install aiohttp
62 có nhược điểm là cài đặt thư viện bên ngoài chỉ để sử dụng một phần chức năng tối thiểu của nó. Sẽ hiệu quả hơn nếu tìm một công cụ thích hợp trong thư viện chuẩn của Python

Khi xem nhanh thư viện chuẩn, bạn sẽ tìm thấy gói cung cấp một số mô-đun để xử lý các yêu cầu HTTP. Ví dụ: để kiểm tra xem một trang web có trực tuyến hay không, bạn có thể sử dụng chức năng từ mô-đun

>>>

df.to_csv['Status_codes.csv']
5

Hàm

[venv] $ python -m pip install aiohttp
65 lấy một URL và mở nó, trả về nội dung của nó dưới dạng một chuỗi hoặc một đối tượng. Nhưng bạn chỉ cần kiểm tra xem trang web có trực tuyến hay không, vì vậy việc tải xuống toàn bộ trang sẽ rất lãng phí. Bạn cần một cái gì đó hiệu quả hơn

Thế còn một công cụ cung cấp cho bạn quyền kiểm soát cấp thấp hơn đối với yêu cầu HTTP của bạn thì sao? . Mô-đun này cung cấp lớp, đại diện cho một kết nối đến một máy chủ HTTP nhất định

[venv] $ python -m pip install aiohttp
20 có một phương thức cho phép bạn thực hiện các yêu cầu HTTP bằng các phương thức HTTP khác nhau. Đối với dự án này, bạn có thể sử dụng phương pháp HTTP
[venv] $ python -m pip install aiohttp
23 để yêu cầu phản hồi chỉ chứa các tiêu đề của trang web mục tiêu. Tùy chọn này sẽ giảm lượng dữ liệu cần tải xuống, giúp ứng dụng kiểm tra kết nối của bạn hoạt động hiệu quả hơn

Tại thời điểm này, bạn đã có ý tưởng rõ ràng về công cụ sẽ sử dụng. Bây giờ bạn có thể làm một số bài kiểm tra nhanh. Hãy tiếp tục và chạy đoạn mã sau trong phiên tương tác Python

>>>

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
6

Trong ví dụ này, trước tiên bạn tạo một phiên bản

[venv] $ python -m pip install aiohttp
20 nhắm mục tiêu trang web
[venv] $ python -m pip install aiohttp
25. Kết nối sử dụng cổng
[venv] $ python -m pip install aiohttp
26, là cổng HTTP mặc định. Cuối cùng, đối số
[venv] $ python -m pip install aiohttp
27 cung cấp số giây phải đợi trước khi hết thời gian thử kết nối

Sau đó, bạn thực hiện một yêu cầu

[venv] $ python -m pip install aiohttp
23 trên đường dẫn gốc của trang web,
[venv] $ python -m pip install aiohttp
29, sử dụng
[venv] $ python -m pip install aiohttp
22. Để nhận được phản hồi thực tế từ máy chủ, bạn gọi
[venv] $ python -m pip install aiohttp
21 trên đối tượng
[venv] $ python -m pip install aiohttp
22. Cuối cùng, bạn kiểm tra các tiêu đề của phản hồi bằng cách gọi
[venv] $ python -m pip install aiohttp
23

Trình kiểm tra kết nối trang web của bạn chỉ cần tạo kết nối và thực hiện yêu cầu

[venv] $ python -m pip install aiohttp
23. Nếu yêu cầu thành công, thì trang web mục tiêu đang trực tuyến. Nếu không, trang web đang ngoại tuyến. Trong trường hợp sau, sẽ phù hợp để hiển thị thông báo lỗi cho người dùng

Bây giờ hãy tiếp tục và mở tệp

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
65 trong trình chỉnh sửa mã của bạn. Sau đó thêm đoạn mã sau vào nó

[venv] $ python -m pip install aiohttp
6

Đây là bảng phân tích về chức năng của mã này theo từng dòng

  • Dòng 3 nhập

    [venv] $ python -m pip install aiohttp
    
    20 từ
    [venv] $ python -m pip install aiohttp
    
    2. Bạn sẽ sử dụng lớp này để thiết lập kết nối với trang web mục tiêu và xử lý các yêu cầu HTTP

  • Dòng 4 nhập khẩu từ. Chức năng này sẽ giúp bạn phân tích các URL mục tiêu

  • Dòng 6 định nghĩa

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    800, nhận một đối số
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    801 và một đối số
    [venv] $ python -m pip install aiohttp
    
    27. Đối số
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    801 sẽ chứa một chuỗi đại diện cho URL của trang web. Trong khi đó,
    [venv] $ python -m pip install aiohttp
    
    27 sẽ giữ số giây chờ trước khi hết thời gian thử kết nối

  • Dòng 11 định nghĩa một phiên bản

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    805 chung làm trình giữ chỗ

  • Dòng 12 định nghĩa một biến

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    806 chứa kết quả phân tích cú pháp URL mục tiêu bằng cách sử dụng
    [venv] $ python -m pip install aiohttp
    
    28

  • Dòng 13 sử dụng toán tử

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    808 để trích xuất tên máy chủ từ URL mục tiêu

  • Dòng 14 bắt đầu một vòng lặp

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    809 qua các cổng HTTP và HTTPS. Bằng cách này, bạn có thể kiểm tra xem trang web có sẵn trên một trong hai cổng hay không

  • Dòng 15 tạo một phiên bản

    [venv] $ python -m pip install aiohttp
    
    20 sử dụng
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    811,
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    812 và
    [venv] $ python -m pip install aiohttp
    
    27 làm đối số

  • Dòng 16 đến 22 định nghĩa một câu lệnh

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 …
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815 …
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    816. Khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 cố gắng thực hiện yêu cầu
    [venv] $ python -m pip install aiohttp
    
    23 tới trang web mục tiêu bằng cách gọi
    [venv] $ python -m pip install aiohttp
    
    22. Nếu yêu cầu thành công, thì hàm trả về
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    820. Nếu một ngoại lệ xảy ra, thì khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815 sẽ giữ một tham chiếu đến ngoại lệ đó trong
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822. Khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    816 đóng kết nối để giải phóng tài nguyên thu được

  • Dòng 23 đưa ra ngoại lệ được lưu trữ trong

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 nếu vòng lặp kết thúc mà không có yêu cầu thành công

Hàm

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800 của bạn trả về
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
820 nếu trang web mục tiêu có sẵn trực tuyến. Mặt khác, nó đưa ra một ngoại lệ chỉ ra vấn đề mà nó gặp phải. Hành vi thứ hai này thuận tiện vì bạn cần hiển thị thông báo lỗi đầy đủ thông tin khi trang web không trực tuyến. Bây giờ là lúc để thử chức năng mới của bạn

Loại bỏ các quảng cáo

Chạy kiểm tra kết nối đầu tiên của bạn

Để dùng thử chức năng

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800 của bạn, hãy tiếp tục và quay lại phiên tương tác của bạn. Sau đó chạy đoạn mã sau

>>>

[venv] $ python -m pip install aiohttp
2

Trong đoạn mã này, trước tiên bạn nhập

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800 từ mô-đun
df.to_csv['Status_codes.csv']
52. Sau đó, bạn gọi hàm với đối số là
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
830. Vì hàm trả về
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
820 nên bạn biết rằng trang đích đang trực tuyến

Trong ví dụ cuối cùng, bạn gọi

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800 với một trang web không tồn tại làm URL mục tiêu. Trong trường hợp này, hàm đưa ra một ngoại lệ mà sau này bạn có thể bắt và xử lý để hiển thị thông báo lỗi cho người dùng

Tuyệt quá. Bạn đã triển khai chức năng chính của ứng dụng là kiểm tra khả năng kết nối của trang web. Bây giờ bạn có thể tiếp tục với dự án của mình bằng cách thiết lập CLI của nó

Bước 3. Tạo CLI của Trình kiểm tra kết nối trang web của bạn

Cho đến nay, bạn đã có một chức năng đang hoạt động cho phép bạn kiểm tra xem một trang web nhất định có trực tuyến hay không bằng cách thực hiện một yêu cầu HTTP bằng cách sử dụng mô-đun

[venv] $ python -m pip install aiohttp
2 từ thư viện chuẩn. Ở cuối bước này, bạn sẽ có một CLI tối thiểu cho phép bạn chạy ứng dụng kiểm tra kết nối trang web của mình từ dòng lệnh

CLI sẽ bao gồm các tùy chọn để lấy danh sách URL tại dòng lệnh và tải danh sách URL từ tệp văn bản. Ứng dụng cũng sẽ hiển thị kết quả kiểm tra kết nối với thông báo thân thiện với người dùng

Để tạo CLI của ứng dụng, bạn sẽ sử dụng

[venv] $ python -m pip install aiohttp
1 từ thư viện chuẩn Python. Mô-đun này cho phép bạn xây dựng CLI thân thiện với người dùng mà không cần cài đặt bất kỳ phụ thuộc bên ngoài nào, chẳng hạn như Click hoặc Typer

Để bắt đầu, bạn sẽ viết mã soạn sẵn cần thiết để làm việc với

[venv] $ python -m pip install aiohttp
1. Bạn cũng sẽ viết mã tùy chọn để đọc URL từ dòng lệnh

Nhấp vào liên kết bên dưới để tải xuống mã cho bước này để bạn có thể làm theo cùng với dự án. Bạn sẽ tìm thấy thứ mình cần trong thư mục

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
836

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Phân tích cú pháp URL trang web tại Dòng lệnh

Để xây dựng CLI của ứng dụng với

[venv] $ python -m pip install aiohttp
1, bạn cần tạo một phiên bản để bạn có thể phân tích cú pháp được cung cấp tại dòng lệnh. Khi bạn có trình phân tích cú pháp đối số, thì bạn có thể bắt đầu thêm đối số và vào CLI của ứng dụng của mình

Bây giờ hãy tiếp tục và mở tệp

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
66 trong trình chỉnh sửa mã của bạn. Sau đó thêm đoạn mã sau

[venv] $ python -m pip install aiohttp
2

Trong đoạn mã này, bạn tạo

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
840 để giữ chức năng liên quan đến trình phân tích cú pháp đối số ở một nơi duy nhất. Để xây dựng đối tượng trình phân tích cú pháp, bạn sử dụng hai đối số

  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    841 định nghĩa tên chương trình
  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    842 cung cấp mô tả phù hợp cho ứng dụng. Mô tả này sẽ được hiển thị khi bạn gọi ứng dụng với tùy chọn
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    843

Sau khi tạo trình phân tích cú pháp đối số, bạn thêm đối số dòng lệnh đầu tiên bằng cách sử dụng. Đối số này sẽ cho phép người dùng nhập một hoặc nhiều URL tại dòng lệnh. Nó sẽ sử dụng các công tắc

import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
20 và
import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
21

Phần còn lại của các đối số cho

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
844 hoạt động như sau

  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    848 đặt tên cho đối số trong thông báo sử dụng hoặc trợ giúp
  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    849 yêu cầu
    [venv] $ python -m pip install aiohttp
    
    1 chấp nhận danh sách các đối số dòng lệnh sau khóa chuyển đổi
    import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    20 hoặc
    import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    21
  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    853 đặt kiểu dữ liệu của đối số dòng lệnh, là
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    854 trong đối số này
  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    855 đặt đối số dòng lệnh thành danh sách trống theo mặc định
  • for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    856 cung cấp thông báo trợ giúp cho người dùng

Cuối cùng, hàm của bạn trả về kết quả của việc gọi đối tượng trình phân tích cú pháp. Phương thức này trả về một đối tượng chứa các đối số được phân tích cú pháp

Loại bỏ các quảng cáo

Tải URL trang web từ một tệp

Một tùy chọn có giá trị khác để triển khai trong trình kiểm tra kết nối trang web của bạn là khả năng tải danh sách URL từ tệp văn bản trên máy cục bộ của bạn. Để làm điều này, bạn có thể thêm một đối số dòng lệnh thứ hai với các cờ

import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
22 và
import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
23

Hãy tiếp tục và cập nhật

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
840 với đoạn mã sau

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
80

Để tạo đối số dòng lệnh mới này, bạn sử dụng

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
844 với hầu hết các đối số giống như trong phần trên. Trong trường hợp này, bạn không sử dụng đối số
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
849 vì bạn muốn ứng dụng chỉ chấp nhận một tệp đầu vào tại dòng lệnh

Hiển thị kết quả kiểm tra

Một thành phần thiết yếu của mọi ứng dụng tương tác với người dùng thông qua dòng lệnh là đầu ra của ứng dụng. Ứng dụng của bạn cần hiển thị kết quả hoạt động của nó cho người dùng. Tính năng này rất quan trọng để đảm bảo trải nghiệm người dùng thú vị

Trình kiểm tra kết nối trang web của bạn không cần đầu ra quá phức tạp. Nó chỉ cần thông báo cho người dùng về trạng thái hiện tại của các trang web được kiểm tra. Để triển khai chức năng này, bạn sẽ viết mã một hàm có tên là

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
864

Bây giờ hãy quay lại tệp

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
66 và thêm chức năng vào cuối

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
81

Hàm này nhận kết quả kiểm tra kết nối, URL đã kiểm tra và thông báo lỗi tùy chọn. Câu lệnh điều kiện kiểm tra xem

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
866 có đúng không, trong trường hợp đó, thông báo
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
867 được in ra màn hình. Nếu
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
866 là sai, thì mệnh đề ________ 2869 in ra ________ 2870 cùng với báo cáo lỗi về sự cố thực sự vừa xảy ra

Đó là nó. Trình kiểm tra kết nối trang web của bạn có giao diện dòng lệnh để cho phép người dùng tương tác với ứng dụng. Bây giờ là lúc kết hợp mọi thứ lại với nhau trong tập lệnh điểm đầu vào của ứng dụng

Bước 4. Đặt mọi thứ lại với nhau trong tập lệnh chính của ứng dụng

Cho đến nay, dự án kiểm tra kết nối trang web của bạn có chức năng kiểm tra xem một trang web nhất định có trực tuyến hay không. Nó cũng có một CLI mà bạn đã nhanh chóng xây dựng bằng cách sử dụng mô-đun

[venv] $ python -m pip install aiohttp
1 từ thư viện chuẩn Python. Trong bước này, bạn sẽ viết mã keo—mã sẽ kết hợp tất cả các thành phần này lại với nhau và làm cho ứng dụng của bạn hoạt động như một ứng dụng dòng lệnh chính thức

Để bắt đầu, bạn sẽ bắt đầu bằng cách thiết lập tập lệnh chính hoặc tập lệnh điểm đầu vào của ứng dụng. Tập lệnh này sẽ chứa hàm

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 và một số mã cấp cao sẽ giúp bạn kết nối CLI ở mặt trước với chức năng kiểm tra kết nối ở mặt sau

Để tải xuống mã cho bước này, hãy nhấp vào liên kết bên dưới, sau đó xem thư mục

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
873

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Tạo tập lệnh điểm đầu vào của ứng dụng

Bước tiếp theo trong việc xây dựng ứng dụng kiểm tra kết nối trang web của bạn là xác định tập lệnh điểm vào với hàm

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 phù hợp. Để làm điều này, bạn sẽ sử dụng tệp nằm trong gói
df.to_csv['Status_codes.csv']
50. Bao gồm tệp
for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
64 trong gói Python cho phép bạn chạy gói dưới dạng chương trình thực thi bằng lệnh
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
878

Để bắt đầu điền mã

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
64, hãy tiếp tục và mở tệp trong trình chỉnh sửa mã của bạn. Sau đó thêm vào như sau

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
82

Sau khi nhập

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
840 từ mô-đun
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
881, bạn xác định hàm
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 của ứng dụng. Bên trong
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872, bạn sẽ tìm thấy một vài dòng mã chưa hoạt động. Đây là những gì mã này sẽ làm sau khi bạn cung cấp chức năng còn thiếu

  • Dòng 9 gọi

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    840 để phân tích các đối số dòng lệnh. Đối tượng
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    858 kết quả sau đó được lưu trữ trong biến cục bộ
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    886

  • Dòng 10 tập hợp danh sách các URL mục tiêu bằng cách gọi hàm trợ giúp có tên là

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    887. Bạn sẽ mã hóa chức năng này trong giây lát

  • Dòng 11 định nghĩa một câu lệnh

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    888 để kiểm tra xem danh sách các URL có trống không. Nếu đúng như vậy, thì khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    888 sẽ in thông báo lỗi cho người dùng và thoát khỏi ứng dụng

  • Dòng 14 gọi một hàm có tên là

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    890, lấy danh sách các URL mục tiêu làm đối số và chạy kiểm tra kết nối trên từng URL. Như tên đã chỉ ra, chức năng này sẽ chạy kiểm tra kết nối một cách đồng bộ hoặc lần lượt từng bước một. Một lần nữa, bạn sẽ mã hóa chức năng này trong giây lát

Với

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 tại chỗ, bạn có thể bắt đầu mã hóa các phần còn thiếu để làm cho nó hoạt động chính xác. Trong các phần sau, bạn triển khai
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
887 và
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
890. Sau khi chúng sẵn sàng hoạt động, bạn sẽ có thể chạy ứng dụng kiểm tra kết nối trang web của mình lần đầu tiên

Loại bỏ các quảng cáo

Xây dựng danh sách URL trang web mục tiêu

Ứng dụng kiểm tra kết nối trang web của bạn sẽ có thể kiểm tra nhiều URL trong mỗi lần thực thi. Người dùng sẽ cung cấp URL vào ứng dụng bằng cách liệt kê chúng tại dòng lệnh, cung cấp chúng trong tệp văn bản hoặc cả hai. Để tạo danh sách nội bộ của các URL mục tiêu, trước tiên, ứng dụng sẽ xử lý các URL được cung cấp tại dòng lệnh. Sau đó, nó sẽ thêm các URL bổ sung từ một tệp, nếu có

Đây là mã hoàn thành các tác vụ này và trả về danh sách các URL mục tiêu kết hợp cả nguồn, dòng lệnh và tệp văn bản tùy chọn

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
83

Cập nhật đầu tiên trong đoạn mã này là nhập

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
11 để quản lý đường dẫn đến tệp URL tùy chọn. Bản cập nhật thứ hai là thêm hàm trợ giúp
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
887, thực hiện như sau

  • Dòng 12 định nghĩa

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    896, ban đầu lưu trữ danh sách các URL được cung cấp tại dòng lệnh. Lưu ý rằng nếu người dùng không cung cấp bất kỳ URL nào thì
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    896 sẽ lưu trữ một danh sách trống

  • Dòng 13 định nghĩa một điều kiện kiểm tra xem người dùng đã cung cấp tệp URL chưa. Nếu vậy, thì khối

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    888 sẽ bổ sung danh sách các URL mục tiêu do gọi
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    899 với tệp được cung cấp trong đối số dòng lệnh
    [venv] $ python -m pip install aiohttp
    
    00

  • Dòng 15 trả về danh sách URL kết quả

Đồng thời,

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
899 chạy các hành động sau

  • Dòng 18 biến đối số

    [venv] $ python -m pip install aiohttp
    
    02 thành một đối tượng để tạo điều kiện xử lý tiếp theo

  • Dòng 19 định nghĩa một câu lệnh có điều kiện để kiểm tra xem tệp hiện tại có phải là tệp thực trong hệ thống tệp cục bộ không. Để thực hiện kiểm tra này, các cuộc gọi có điều kiện trên đối tượng

    [venv] $ python -m pip install aiohttp
    
    05. Sau đó, khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    888 mở tệp và đọc nội dung của nó bằng cách hiểu danh sách. Sự hiểu biết này loại bỏ mọi khoảng trắng đầu và cuối có thể có từ mọi dòng trong tệp để tránh lỗi xử lý sau này

  • Dòng 22 định nghĩa một điều kiện lồng nhau để kiểm tra xem có URL nào đã được thu thập chưa. Nếu vậy, thì dòng 23 trả về danh sách URL kết quả. Mặt khác, dòng 24 in thông báo lỗi để thông báo cho người đọc rằng tệp đầu vào trống

Mệnh đề

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
869 trên dòng 25 đến 26 in thông báo lỗi để chỉ ra rằng tệp đầu vào không thoát. Nếu hàm chạy mà không trả về danh sách URL hợp lệ, hàm sẽ trả về danh sách trống

Ồ. Đó là rất nhiều, nhưng bạn đã làm cho nó đến cùng. Bây giờ bạn có thể tiếp tục với phần cuối cùng của

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
64. Nói cách khác, bạn có thể triển khai chức năng
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
890 để ứng dụng có thể thực hiện kiểm tra kết nối trên nhiều trang web

Kiểm tra khả năng kết nối của nhiều trang web

Để chạy kiểm tra kết nối trên nhiều trang web, bạn cần lặp lại danh sách các URL mục tiêu, thực hiện kiểm tra và hiển thị kết quả tương ứng. Đó là chức năng của hàm

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
890 bên dưới

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
84

Trong đoạn mã này, trước tiên bạn cập nhật quá trình nhập của mình bằng cách thêm

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800 và
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
864. Sau đó, bạn xác định
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
890, lấy danh sách các URL làm đối số. Phần thân của hàm hoạt động như thế này

  • Dòng 12 bắt đầu vòng lặp

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    809 lặp qua các URL mục tiêu

  • Dòng 13 xác định và khởi tạo

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 sẽ chứa thông báo sẽ được hiển thị nếu ứng dụng không nhận được phản hồi từ trang web mục tiêu

  • Các dòng 14 đến 18 xác định một câu lệnh

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 …
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815 bắt bất kỳ ngoại lệ nào có thể xảy ra trong quá trình kiểm tra kết nối. Các kiểm tra này chạy trên dòng 15, gọi
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    800 với URL mục tiêu làm đối số. Sau đó, dòng 17 và 18 cập nhật các biến
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    866 và
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 nếu xảy ra sự cố kết nối

  • Dòng 19 cuối cùng gọi

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    864 với các đối số phù hợp để hiển thị kết quả kiểm tra kết nối ra màn hình

Để kết thúc tệp

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
64, bạn thêm mã soạn sẵn Python
[venv] $ python -m pip install aiohttp
23 điển hình. Đoạn mã này gọi
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 khi mô-đun được chạy dưới dạng tập lệnh hoặc chương trình thực thi. Với những cập nhật này, ứng dụng của bạn hiện đã sẵn sàng cho chuyến bay thử nghiệm

Chạy kiểm tra kết nối từ dòng lệnh

Bạn đã viết rất nhiều mã mà không có cơ hội nhìn thấy nó hoạt động. Bạn đã mã hóa CLI của trình kiểm tra kết nối trang web và tập lệnh điểm vào của nó. Bây giờ là lúc để thử ứng dụng của bạn. Trước khi làm điều đó, hãy đảm bảo rằng bạn đã tải xuống tài liệu bổ sung được đề cập ở đầu bước này, đặc biệt là tệp

[venv] $ python -m pip install aiohttp
25

Bây giờ hãy quay lại dòng lệnh của bạn và thực hiện các lệnh sau

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
85

Trình kiểm tra kết nối trang web của bạn hoạt động tốt. Khi bạn chạy

df.to_csv['Status_codes.csv']
50 với tùy chọn
[venv] $ python -m pip install aiohttp
27 hoặc
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
843, bạn sẽ nhận được thông báo sử dụng giải thích cách sử dụng ứng dụng

Ứng dụng có thể lấy một số URL tại dòng lệnh hoặc từ tệp văn bản và kiểm tra kết nối của chúng. Nếu xảy ra lỗi trong quá trình kiểm tra, thì bạn sẽ nhận được thông báo trên màn hình với thông tin về nguyên nhân gây ra lỗi

Hãy tiếp tục thử một số URL và tính năng khác. Ví dụ: cố gắng kết hợp các URL tại dòng lệnh với các URL từ một tệp bằng cách sử dụng công tắc

import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
20 và
import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
22. Ngoài ra, hãy kiểm tra điều gì sẽ xảy ra khi bạn cung cấp tệp URL trống hoặc không tồn tại

Mát mẻ. Ứng dụng kiểm tra kết nối trang web của bạn hoạt động tốt và trơn tru phải không? . Thời gian thực thi có thể quá tải khi bạn chạy ứng dụng với một danh sách dài các URL mục tiêu, bởi vì tất cả các kiểm tra kết nối đều chạy đồng bộ

Để khắc phục sự cố này và cải thiện hiệu suất của ứng dụng, bạn có thể thực hiện kiểm tra kết nối không đồng bộ. Đó là những gì bạn sẽ làm trong phần sau

Loại bỏ các quảng cáo

Bước 5. Kiểm tra kết nối của trang web không đồng bộ

Bằng cách thực hiện kiểm tra kết nối đồng thời trên nhiều trang web thông qua lập trình không đồng bộ, bạn có thể cải thiện hiệu suất tổng thể của ứng dụng của mình. Để làm điều này, bạn có thể tận dụng các tính năng không đồng bộ của Python và thư viện bên thứ ba

[venv] $ python -m pip install aiohttp
3 mà bạn đã cài đặt trong môi trường ảo của dự án

Python hỗ trợ lập trình không đồng bộ với mô-đun

[venv] $ python -m pip install aiohttp
5 và các từ khóa. Trong các phần sau, bạn sẽ viết mã cần thiết để làm cho ứng dụng của bạn chạy kiểm tra kết nối không đồng bộ bằng các công cụ này

Để tải xuống mã cho bước cuối cùng này, hãy nhấp vào liên kết sau và xem thư mục

[venv] $ python -m pip install aiohttp
35

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Triển khai chức năng kiểm tra kết nối không đồng bộ

Bước đầu tiên trong quá trình làm cho trình kiểm tra kết nối trang web của bạn hoạt động đồng thời là viết một hàm

[venv] $ python -m pip install aiohttp
6 cho phép bạn thực hiện một kiểm tra kết nối duy nhất trên một trang web nhất định. Đây sẽ là hàm không đồng bộ tương đương với hàm
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800 của bạn

Quay lại tệp

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
65 và thêm đoạn mã sau

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
86

Trong bản cập nhật này, trước tiên bạn thêm các mục nhập bắt buộc,

[venv] $ python -m pip install aiohttp
5 và
[venv] $ python -m pip install aiohttp
3. Sau đó, bạn xác định
[venv] $ python -m pip install aiohttp
41 trên dòng 10. Đó là một hàm
[venv] $ python -m pip install aiohttp
6 nhận hai đối số. URL để kiểm tra và số giây trước khi hết thời gian yêu cầu. Phần thân của hàm thực hiện như sau

  • Dòng 15 định nghĩa một thể hiện chung chung của

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    805 làm trình giữ chỗ

  • Dòng 16 định nghĩa một biến

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    806 chứa kết quả phân tích cú pháp URL mục tiêu bằng cách sử dụng
    [venv] $ python -m pip install aiohttp
    
    28

  • Dòng 17 sử dụng toán tử

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    808 để trích xuất tên máy chủ từ URL mục tiêu

  • Dòng 18 định nghĩa một vòng lặp

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    809 qua các lược đồ HTTP và HTTPS. Điều này sẽ cho phép bạn kiểm tra xem trang web có sẵn trên một trong hai không

  • Dòng 19 tạo URL bằng lược đồ hiện tại và tên máy chủ

  • Dòng 20 định nghĩa một câu lệnh

    [venv] $ python -m pip install aiohttp
    
    48 để xử lý một phiên bản
    [venv] $ python -m pip install aiohttp
    
    49. Lớp này là giao diện được đề xuất để thực hiện các yêu cầu HTTP với
    [venv] $ python -m pip install aiohttp
    
    3

  • Dòng 21 đến 27 định nghĩa một câu lệnh

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 …
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815. Khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 thực hiện và chờ yêu cầu
    [venv] $ python -m pip install aiohttp
    
    23 đến trang web mục tiêu bằng cách gọi
    [venv] $ python -m pip install aiohttp
    
    55 trên đối tượng
    [venv] $ python -m pip install aiohttp
    
    56. Nếu yêu cầu thành công, thì hàm trả về
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    820. Mệnh đề
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815 đầu tiên bắt các ngoại lệ của
    [venv] $ python -m pip install aiohttp
    
    59 và đặt
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 thành một phiên bản
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    805 mới. Mệnh đề
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815 thứ hai bắt bất kỳ ngoại lệ nào khác và cập nhật biến
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 tương ứng

  • Dòng 28 đưa ra ngoại lệ được lưu trữ trong

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 nếu vòng lặp kết thúc mà không có yêu cầu thành công

Việc triển khai

[venv] $ python -m pip install aiohttp
41 này tương tự như việc triển khai
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
800. Nó trả về
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
820 nếu trang web mục tiêu đang trực tuyến. Mặt khác, nó đưa ra một ngoại lệ chỉ ra vấn đề gặp phải

Sự khác biệt chính giữa các chức năng này là

[venv] $ python -m pip install aiohttp
41 thực hiện các yêu cầu HTTP không đồng bộ bằng cách sử dụng thư viện của bên thứ ba
[venv] $ python -m pip install aiohttp
3. Sự phân biệt này có thể giúp bạn tối ưu hóa hiệu suất của ứng dụng khi bạn có một danh sách dài các trang web cần kiểm tra

Với chức năng này, bạn có thể tiến hành cập nhật CLI của ứng dụng với một tùy chọn mới cho phép bạn chạy kiểm tra kết nối không đồng bộ

Thêm tùy chọn không đồng bộ vào CLI của ứng dụng

Bây giờ, bạn cần thêm một tùy chọn vào CLI của ứng dụng kiểm tra kết nối trang web của mình. Tùy chọn mới này sẽ yêu cầu ứng dụng chạy kiểm tra không đồng bộ. Tùy chọn chỉ có thể là cờ Boolean. Để triển khai loại tùy chọn này, bạn có thể sử dụng đối số

[venv] $ python -m pip install aiohttp
70 của
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
844

Bây giờ hãy tiếp tục và cập nhật

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
840 trên tệp
for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
66 với mã sau

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
87

Cuộc gọi này tới

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
844 trên đối tượng
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
806 sẽ thêm tùy chọn
[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9 mới vào CLI của ứng dụng. Đối số
[venv] $ python -m pip install aiohttp
70 được đặt thành
[venv] $ python -m pip install aiohttp
79, cho
[venv] $ python -m pip install aiohttp
1 biết rằng
[venv] $ python -m pip install aiohttp
8 và
[venv] $ python -m pip install aiohttp
9 là các cờ Boolean sẽ lưu trữ
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
820 khi được cung cấp tại dòng lệnh

Với tùy chọn mới này, đã đến lúc viết logic để kiểm tra khả năng kết nối của nhiều trang web một cách không đồng bộ

Loại bỏ các quảng cáo

Kiểm tra khả năng kết nối của nhiều trang web không đồng bộ

Để kiểm tra khả năng kết nối của nhiều trang web một cách không đồng bộ, bạn sẽ viết một hàm

[venv] $ python -m pip install aiohttp
6 gọi và đợi
[venv] $ python -m pip install aiohttp
41 từ mô-đun
df.to_csv['Status_codes.csv']
52. Quay lại tệp
for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
64 và thêm đoạn mã sau vào đó

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
88

Trong đoạn mã này, trước tiên bạn cập nhật quá trình nhập của mình để truy cập

[venv] $ python -m pip install aiohttp
41. Sau đó, bạn định nghĩa
[venv] $ python -m pip install aiohttp
89 trên dòng 10 là một hàm không đồng bộ bằng cách sử dụng từ khóa
[venv] $ python -m pip install aiohttp
6. Hàm này lấy danh sách các URL và kiểm tra kết nối của chúng một cách không đồng bộ. Đây là cách nó làm điều đó

  • Dòng 11 định nghĩa một hàm

    [venv] $ python -m pip install aiohttp
    
    6 bên trong có tên là
    [venv] $ python -m pip install aiohttp
    
    92. Chức năng này cho phép bạn sử dụng lại mã kiểm tra một URL để kết nối

  • Dòng 12 xác định và khởi tạo một biến giữ chỗ

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822, biến này sẽ được sử dụng trong lệnh gọi tới
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    864 sau này

  • Các dòng 13 đến 17 xác định một câu lệnh

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 …
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    815 để hoàn thành việc kiểm tra kết nối. Khối
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    814 gọi và đợi
    [venv] $ python -m pip install aiohttp
    
    41 với URL mục tiêu làm đối số. Nếu cuộc gọi thành công, thì
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    866 sẽ kết thúc bằng
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    820. Nếu cuộc gọi đưa ra một ngoại lệ, thì
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    866 sẽ là
    import pandas as pd
    import requests
    df= pd.read_csv['path to file/file_name.csv']
    202 và
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 sẽ giữ thông báo lỗi kết quả

  • Dòng 18 gọi

    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    864 sử dụng
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    866,
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    801 và
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    822 làm đối số. Cuộc gọi này hiển thị thông tin về tính khả dụng của trang web

  • Dòng 20 gọi và chờ chức năng từ mô-đun

    [venv] $ python -m pip install aiohttp
    
    5. Hàm này chạy một danh sách đồng thời và trả về một danh sách tổng hợp các giá trị kết quả nếu tất cả các đối tượng có thể chờ hoàn tất thành công. Để cung cấp danh sách các đối tượng có thể chờ đợi, bạn sử dụng lệnh gọi
    [venv] $ python -m pip install aiohttp
    
    92 cho mỗi URL mục tiêu

Được chứ. Bạn gần như đã sẵn sàng để dùng thử khả năng không đồng bộ của ứng dụng kiểm tra kết nối trang web của mình. Trước khi làm điều đó, bạn cần quan tâm đến một chi tiết cuối cùng. cập nhật chức năng

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 để tích hợp tính năng mới này

Thêm kiểm tra không đồng bộ vào mã chính của ứng dụng

Để thêm chức năng không đồng bộ vào chức năng

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 của ứng dụng, bạn sẽ sử dụng câu lệnh có điều kiện để kiểm tra xem người dùng có cung cấp cờ
[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9 tại dòng lệnh hay không. Điều kiện này sẽ cho phép bạn chạy kiểm tra kết nối bằng công cụ phù hợp theo thông tin đầu vào của người dùng

Hãy tiếp tục và mở lại tệp

for url in df['urls']:  response= requests.get[url]  status= response.status_code  df['Status']=status
if status == 404:
print[url]
64. Sau đó cập nhật
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 như trong đoạn mã sau

for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
89

Câu lệnh điều kiện trên các dòng 12 đến 15 kiểm tra xem người dùng đã cung cấp cờ

[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9 tại dòng lệnh chưa. Nếu đúng như vậy,
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
872 sẽ chạy kiểm tra kết nối không đồng bộ bằng cách sử dụng
import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
220. Nếu không, nó sẽ chạy kiểm tra đồng bộ bằng cách sử dụng
for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
890

Đó là nó. Bây giờ bạn có thể kiểm tra tính năng mới này của trình kiểm tra kết nối trang web của mình trong thực tế. Quay trở lại dòng lệnh của bạn và chạy như sau

[venv] $ python -m pip install aiohttp
0

Lệnh đầu tiên cho thấy ứng dụng của bạn hiện có tùy chọn

[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9 mới sẽ chạy kiểm tra kết nối không đồng bộ

Lệnh thứ hai làm cho

df.to_csv['Status_codes.csv']
50 chạy kiểm tra kết nối một cách đồng bộ, giống như bạn đã làm trong phần trước. Điều này là do bạn không cung cấp cờ
[venv] $ python -m pip install aiohttp
8 hoặc
[venv] $ python -m pip install aiohttp
9. Lưu ý rằng các URL được kiểm tra theo thứ tự mà chúng được nhập vào dòng lệnh

Cuối cùng, trong lệnh thứ ba, bạn sử dụng cờ

[venv] $ python -m pip install aiohttp
8 ở cuối dòng. Cờ này làm cho
df.to_csv['Status_codes.csv']
50 chạy kiểm tra kết nối đồng thời. Giờ đây, kết quả kiểm tra không được hiển thị theo thứ tự như các URL được nhập mà theo thứ tự phản hồi đến từ các trang web mục tiêu

Như một bài tập, bạn có thể thử chạy ứng dụng kiểm tra kết nối trang web của mình với một danh sách dài các URL mục tiêu và so sánh thời gian thực thi khi ứng dụng chạy kiểm tra đồng bộ và không đồng bộ

Phần kết luận

Bạn đã xây dựng ứng dụng kiểm tra kết nối trang web chức năng bằng Python. Bây giờ bạn đã biết kiến ​​thức cơ bản về xử lý các yêu cầu HTTP đến một trang web nhất định. Bạn cũng đã học cách tạo giao diện dòng lệnh [CLI] tối thiểu nhưng đầy đủ chức năng cho ứng dụng của mình và cách tổ chức một dự án Python trong thế giới thực. Ngoài ra, bạn đã dùng thử các tính năng không đồng bộ của Python

Trong hướng dẫn này, bạn đã học cách

  • Tạo giao diện dòng lệnh [CLI] bằng Python với
    [venv] $ python -m pip install aiohttp
    
    1
  • Kiểm tra xem một trang web có trực tuyến hay không bằng cách sử dụng
    [venv] $ python -m pip install aiohttp
    
    2 của Python
  • Chạy kiểm tra đồng bộ trên nhiều trang web
  • Kiểm tra xem một trang web có trực tuyến hay không bằng cách sử dụng
    [venv] $ python -m pip install aiohttp
    
    3
  • Kiểm tra kết nối của nhiều trang web không đồng bộ

Với nền tảng này, bạn đã sẵn sàng tiếp tục nâng cao kỹ năng của mình bằng cách tạo các ứng dụng dòng lệnh phức tạp hơn. Bạn cũng chuẩn bị tốt hơn để tiếp tục tìm hiểu về các yêu cầu HTTP với Python

Để xem lại những gì bạn đã làm để xây dựng ứng dụng của mình, bạn có thể tải xuống mã nguồn hoàn chỉnh bên dưới

Nhận mã nguồn. Nhấp vào đây để lấy mã nguồn mà bạn sẽ sử dụng để xây dựng ứng dụng kiểm tra kết nối trang web của mình

Loại bỏ các quảng cáo

Bước tiếp theo

Bây giờ bạn đã hoàn thành việc xây dựng ứng dụng kiểm tra kết nối trang web của mình, bạn có thể tiến thêm một bước bằng cách triển khai một vài tính năng bổ sung. Tự thêm các tính năng mới sẽ thúc đẩy bạn tìm hiểu về các chủ đề và khái niệm viết mã mới và thú vị

Dưới đây là một số ý tưởng cho các tính năng mới

  • hỗ trợ thời gian. Đo thời gian phản hồi của mọi trang web mục tiêu
  • Hỗ trợ lập kế hoạch kiểm tra. Lên lịch nhiều vòng kiểm tra kết nối trong trường hợp một số trang web ngoại tuyến

Để triển khai các tính năng này, bạn có thể tận dụng mô-đun

import pandas as pd
import requests
df= pd.read_csv['path to file/file_name.csv']
232 của Python, mô-đun này sẽ cho phép bạn đo thời gian thực thi mã của mình

Khi bạn triển khai các tính năng mới này, thì bạn có thể thay đổi bánh răng và tham gia vào các dự án phức tạp và thú vị khác. Dưới đây là một số bước tuyệt vời tiếp theo để bạn tiếp tục học Python và xây dựng các dự án

  • Xây dựng một ứng dụng tung xúc xắc với Python. Trong dự án từng bước này, bạn sẽ xây dựng một ứng dụng giả lập tung xúc xắc với giao diện người dùng dựa trên văn bản tối thiểu bằng Python. Ứng dụng sẽ mô phỏng việc tung tối đa sáu viên xúc xắc. Mỗi cá nhân chết sẽ có sáu mặt

  • Ngoài trời đang mưa? . Trong hướng dẫn này, bạn sẽ viết một ứng dụng Python CLI được định dạng đẹp mắt để hiển thị thông tin về thời tiết hiện tại ở bất kỳ thành phố nào mà bạn cung cấp tên cho

  • Xây dựng Trình tạo cây thư mục Python cho Dòng lệnh. Trong dự án từng bước này, bạn sẽ tạo một ứng dụng tạo cây thư mục Python cho dòng lệnh của mình. Bạn sẽ viết mã giao diện dòng lệnh với

    [venv] $ python -m pip install aiohttp
    
    1 và duyệt qua hệ thống tệp bằng cách sử dụng
    for url in df['urls']:   response= requests.get[url]   status= response.status_code   df['Status']=status
    11

  • Xây dựng ứng dụng To-Do dòng lệnh với Python và Typer. Trong dự án từng bước này, bạn sẽ tạo một ứng dụng công việc cho dòng lệnh của mình bằng Python và Typer. Trong khi xây dựng ứng dụng này, bạn sẽ tìm hiểu kiến ​​thức cơ bản về Typer, một thư viện hiện đại và linh hoạt để xây dựng giao diện dòng lệnh [CLI]

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Xây dựng Trình kiểm tra kết nối trang web

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Leodanis Pozo Ramos

Leodanis là một kỹ sư công nghiệp yêu thích Python và phát triển phần mềm. Anh ấy là một nhà phát triển Python tự học với hơn 6 năm kinh nghiệm. Anh ấy là một nhà văn đam mê kỹ thuật với số lượng bài báo được xuất bản ngày càng tăng trên Real Python và các trang web khác

» Tìm hiểu thêm về Leodanis

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Geir Arne

kate

Martin

Philipp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Làm cách nào để kiểm tra trạng thái URL bằng Python?

Để tìm các URL trong một chuỗi nhất định, chúng tôi đã sử dụng hàm findall[] từ mô-đun biểu thức chính quy của Python . Điều này trả về tất cả các kết quả khớp mẫu không chồng chéo trong chuỗi, dưới dạng danh sách các chuỗi. Chuỗi được quét từ trái sang phải và kết quả khớp được trả về theo thứ tự tìm thấy.

Làm cách nào để kiểm tra xem một URL có hợp lệ trong Python không?

Để kiểm tra xem chuỗi đã nhập có phải là URL hợp lệ hay không, chúng tôi sử dụng mô-đun trình xác thực trong Python . Khi chúng ta chuyển chuỗi tới phương thức url[] có trong mô-đun, nó trả về true[nếu chuỗi là URL] và ValidationFailure[func=url,…] nếu URL không hợp lệ.

Chủ Đề