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
1 của Python[venv] $ python -m pip install aiohttp
- Kiểm tra xem một trang web có đang trực tuyến hay không bằng cách sử dụng
2 của Python từ thư viện tiêu chuẩn[venv] $ python -m pip install aiohttp
- 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
3[venv] $ python -m pip install aiohttp
- 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óaNhư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 webLoại bỏ các quảng cáoTổ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
20 hoặc
import requests
df= pd.read_csv['path to file/file_name.csv']import pandas as pd
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 requests
df= pd.read_csv['path to file/file_name.csv']import pandas as pd
22 hoặc
import requests
df= pd.read_csv['path to file/file_name.csv']import pandas as pd
23 cho phép bạn cung cấp tệp chứa danh sách URL để kiểm tra
import requests
df= pd.read_csv['path to file/file_name.csv']
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ộ[venv] $ python -m pip install aiohttp
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
3Chạ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ô-đunfor 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
1[venv] $ python -m pip install aiohttp
- 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ănVớ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']=status14
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']=status15. 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']=status7
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status8
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']=status16 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']=status17, 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ạnMá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áoTổ 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']
2Bạ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ụngTệ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ạnTệ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']=status17, 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 ứngTrong thư mục
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status61, bạn sẽ có các tệp sau
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
62 cho phép
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
61 dưới dạng gói Python
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
64 hoạt động như một tập lệnh điểm đầu vào cho ứng dụng
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
65 cung cấp các chức năng cốt lõi của ứng dụng
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
66 chứa giao diện dòng lệnh cho ứng dụng
if status == 404:
print[url]
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']=status62 trong gói
if status == 404:
print[url]
df.to_csv['Status_codes.csv']
50 của bạnfor url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status1
Hằng số cấp mô-đun
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status69 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
if status == 404:
print[url]
[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
61Nhậ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 đượcTuy 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 PythonKhi 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']
5Hà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ơnThế 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ơnTạ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']=status6
if status == 404:
print[url]
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ốiSau đó, 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
23Trì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ùngBâ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']=status65 trong trình chỉnh sửa mã của bạn. Sau đó thêm đoạn mã sau vào nó
if status == 404:
print[url]
[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
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[venv] $ python -m pip install aiohttp
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ố
27. Đối số[venv] $ python -m pip install aiohttp
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 đó,
27 sẽ giữ số giây chờ trước khi hết thời gian thử kết nối[venv] $ python -m pip install aiohttp
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
28[venv] $ python -m pip install aiohttp
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êuDò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ôngDòng 15 tạo một phiên bản
20 sử dụng[venv] $ python -m pip install aiohttp
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à
27 làm đối số[venv] $ python -m pip install aiohttp
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ốifor 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
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ề[venv] $ python -m pip install aiohttp
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ốifor 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ệ đó trongfor url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
822. Khốifor 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 đượcDò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']=status800 của bạn trả về
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status820 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ạnLoạ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']=status800 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
2Trong đ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']=status800 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']=status830. Vì hàm trả về
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status820 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']=status800 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ệnhCLI 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ệnhNhấ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']=status836
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ìnhBâ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']=status66 trong trình chỉnh sửa mã của bạn. Sau đó thêm đoạn mã sau
if status == 404:
print[url]
[venv] $ python -m pip install aiohttp
2Trong đoạn mã này, bạn tạo
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status840 để 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ìnhfor 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ọnfor 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']
21Phầ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']=status844 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úpfor url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
849 yêu cầu
1 chấp nhận danh sách các đối số dòng lệnh sau khóa chuyển đổi[venv] $ python -m pip install aiohttp
import pandas as pd
20 hoặc
import requests
df= pd.read_csv['path to file/file_name.csv']import pandas as pd
21
import requests
df= pd.read_csv['path to file/file_name.csv']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àyfor 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 địnhfor 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áoTả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']
23Hã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']=status840 với đoạn mã sau
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status80
Để 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']=status844 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']=status849 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']=status864
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']=status66 và thêm chức năng vào cuối
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status81
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']=status866 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']=status867 được in ra màn hình. Nếu
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status866 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']=status872 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']=status873
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']=status872 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']=status64 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
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status878
Để bắt đầu điền mã
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status64, 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
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status82
Sau khi nhập
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status840 từ mô-đun
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status881, bạn xác định hàm
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status872 của ứng dụng. Bên trong
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status872, 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ượngfor 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
886Dò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átDò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ốifor 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ụngDò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']=status872 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']=status887 và
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status890. 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
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']=status83
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']=status11 để 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']=status887, 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ốngDò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ọifor 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
00[venv] $ python -m pip install aiohttp
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']=status899 chạy các hành động sau
Dòng 18 biến đối số
02 thành một đối tượng để tạo điều kiện xử lý tiếp theo[venv] $ python -m pip install aiohttp
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
05. Sau đó, khối[venv] $ python -m pip install aiohttp
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àyDò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']=status869 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']=status64. Nói cách khác, bạn có thể triển khai chức năng
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status890 để ứ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']=status890 bên dưới
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status84
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']=status800 và
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status864. Sau đó, bạn xác định
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status890, 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êuDò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êuCá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ọifor 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ếnfor 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ốiDò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']=status64, bạn thêm mã soạn sẵn Python
if status == 404:
print[url]
[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']=status872 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
25Bâ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']=status85
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']=status843, 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ạiMá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áoBướ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ự ánPython 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
35Nhậ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']=status800 của bạn
Quay lại tệp
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status65 và thêm đoạn mã sau
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status86
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ư sauDò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
28[venv] $ python -m pip install aiohttp
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êuDò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ôngDò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
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[venv] $ python -m pip install aiohttp
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ốifor 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
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ề[venv] $ python -m pip install aiohttp
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
59 và đặt[venv] $ python -m pip install aiohttp
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
822 thành một phiên bảnfor 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ếnfor url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
822 tương ứngDò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']=status800. Nó trả về
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status820 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 traVớ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']=status844
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']=status840 trên tệp
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status66 với mã sau
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status87
Cuộc gọi này tới
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status844 trên đối tượng
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status806 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']=status820 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áoKiể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']=status64 và thêm đoạn mã sau vào đó
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status88
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
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[venv] $ python -m pip install aiohttp
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ớifor url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
864 sau nàyCá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ốifor url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
814 gọi và đợi
41 với URL mục tiêu làm đối số. Nếu cuộc gọi thành công, thì[venv] $ python -m pip install aiohttp
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
866 sẽ kết thúc bằngfor 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
202 và
import requests
df= pd.read_csv['path to file/file_name.csv']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ụngfor 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 webDòng 20 gọi và chờ chức năng từ mô-đun
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[venv] $ python -m pip install aiohttp
Đượ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']=status872 để 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']=status872 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ùngHã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']=status64. Sau đó cập nhật
if status == 404:
print[url]
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status872 như trong đoạn mã sau
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status89
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']=status872 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']=status890
Đó 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
0Lệ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ệnhCuố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êuNhư 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
1[venv] $ python -m pip install aiohttp
- Kiểm tra xem một trang web có trực tuyến hay không bằng cách sử dụng
2 của Python[venv] $ python -m pip install aiohttp
- 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
3[venv] $ python -m pip install aiohttp
- 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áoBướ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ìnhKhi 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
1 và duyệt qua hệ thống tệp bằng cách sử dụng[venv] $ python -m pip install aiohttp
for url in df['urls']: response= requests.get[url] status= response.status_code df['Status']=status
11Xâ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ề LeodanisMỗ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ẻ EmailBà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