Điều kiện tiên quyết. Khớp mẫu với Biểu thức chính quy Trong bài viết này, chúng ta sẽ cần chấp nhận một chuỗi và chúng ta cần kiểm tra xem chuỗi đó có chứa bất kỳ URL nào trong đó không. Nếu URL có trong chuỗi, chúng tôi sẽ cho biết URL đã được tìm thấy hay không và in URL tương ứng có trong chuỗi. Chúng ta sẽ sử dụng khái niệm Biểu thức chính quy của Python để giải quyết vấn đề
ví dụ
Input : string = 'My Profile: //auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles in the portal of //www.geeksforgeeks.org/' Output : URLs : ['//auth.geeksforgeeks.org/user/Chinmoy%20Lenka/articles', '//www.geeksforgeeks.org/'] Input : string = 'I am a blogger at //geeksforgeeks.org' Output : URL : ['//geeksforgeeks.org']
Khuyến khích. Vui lòng thử cách tiếp cận của bạn trên {IDE} trước, trước khi chuyển sang giải pháp
Để 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.
Trong bài viết này, chúng ta sẽ viết một đoạn script Python để kiểm tra xem trang đã cho có được tìm thấy trên máy chủ hay không. Chúng ta sẽ thấy các phương pháp khác nhau để làm điều tương tự
Phương pháp 1. Sử dụng Urllib
Urllib là gói cho phép bạn truy cập trang web bằng chương trình
Cài đặt
pip install urllib
Tiếp cận
- Nhập mô-đun
- Chuyển URL trong urllib. request[] đọc URL
- Bây giờ hãy kiểm tra với urllib. lỗi chứa các ngoại lệ được đưa ra bởi urllib. yêu cầu
Thực hiện
Python3
Yeah ! found1
Yeah ! found2
Yeah ! found3
Yeah ! found4
Yeah ! found5
Yeah ! found2
Yeah ! found0
Yeah ! found4
Yeah ! found2
Yeah ! found3
Yeah ! found4
Yeah ! found5
Yeah ! found6
Yeah ! found7
Yeah ! found8
Yeah ! found9
pip install urllib10
pip install urllib11
Yeah ! found6
pip install urllib13
pip install urllib14
pip install urllib15
pip install urllib16
pip install urllib17
Yeah ! found6
pip install urllib19____210
Yeah ! found11
Yeah ! found12
Yeah ! found6
pip install urllib16
Yeah ! found15
Yeah ! found6
pip install urllib19____210
Yeah ! found19
Yeah ! found12
Yeah ! found11
Yeah ! found5
Yeah ! found6
pip install urllib19____210
Yeah ! found16
pip install urllib11
đầu ra
Yeah ! found
Phương pháp 2. Sử dụng yêu cầu
Yêu cầu cho phép bạn gửi HTTP/1. 1 yêu cầu cực kỳ dễ dàng. Mô-đun này cũng không tích hợp sẵn với Python. Để cài đặt loại này, lệnh dưới đây trong thiết bị đầu cuối
Python là ngôn ngữ lập trình phổ biến cung cấp nhiều tính năng hữu ích. Đôi khi, bạn có thể cần kiểm tra xem URL có thể truy cập được hay không, kiểm tra trạng thái máy chủ, kiểm tra xem URL hình ảnh có hoạt động hay không, v.v. Python giúp dễ dàng nhanh chóng ping một URL và nhận mã phản hồi của nó để xác định xem URL đó có hoạt động hay không. Đây là tập lệnh python để kiểm tra trạng thái URL
Bạn có thể sử dụng mã này để kiểm tra xem một trang web có đang hoạt động hay không, nếu một liên kết bị hỏng hoặc nếu quyền truy cập vào URL bị từ chối
Tập lệnh Python để kiểm tra trạng thái URL
Python cung cấp nhiều gói cho mục đích này. Nhưng chúng ta sẽ xem cách thực hiện việc này bằng 3 gói phổ biến – urllib, request và httplib
1. Sử dụng urllib
urllib cung cấp hàm getcode[] để lấy mã phản hồi của một URL. Nếu URL lên, phản hồi sẽ là 200
Đây là một đoạn mã đơn giản để kiểm tra xem URL www. ví dụ. com đang hoạt động
Yeah ! found8
Trong ví dụ trên, xin lưu ý, bạn cần chỉ định URL đầy đủ cùng với giao thức HTTP/HTTPS. Ngoài ra, hàm getcode[] sẽ trả về mã phản hồi của chỉ URL được chỉ định, không phải toàn bộ trang web. Nếu mã phản hồi là 200, điều đó chỉ có nghĩa là URL được chỉ định đang hoạt động. Nếu URL không tồn tại, nó sẽ ném URLError và không trả về mã phản hồi 404
2. Sử dụng yêu cầu
Yêu cầu là một thư viện python có sẵn trong python 2 & 3 và cung cấp nhiều tính năng và tính linh hoạt hơn nhiều thư viện khác, khi xử lý các yêu cầu
Trong trường hợp này, chúng tôi sử dụng yêu cầu. head[] để kết nối với URL và yêu cầu. phản ứng. status_code để lấy mã trạng thái của URL đã cho
Yeah ! found9
Xin lưu ý, yêu cầu. head[] cũng không kiểm tra xem một URL nhất định có tồn tại hay không và chỉ đơn giản là đưa ra các yêu cầu. ngoại lệ. ConnectionError trong khi kết nối với URL
3. Sử dụng httplib
Giống như mô-đun yêu cầu, trước tiên, httplib thiết lập kết nối tới một URL nhất định bằng hàm HTTPConnection[], tạo yêu cầu bằng hàm request[] và nhận phản hồi bằng hàm getresponse[]. Đây là một ví dụ để lấy mã phản hồi của một URL nhất định bằng cách sử dụng mô-đun httplib
Yeah ! found0
Không giống như trong urllib và mô-đun yêu cầu, bạn không cần đề cập đến giao thức trong URL của mình. Bạn chỉ cần đề cập đến phiên bản URL có www hoặc không có www để kiểm tra trạng thái của nó. Xin lưu ý, httplib sẽ trả về mã phản hồi là 200, ngay cả khi máy chủ phản hồi với phản hồi cấm truy cập 403
Trong bài viết này, chúng ta đã học cách kiểm tra trạng thái URL trong Python. Bạn có thể sử dụng chúng để kiểm tra xem URL hình ảnh có hoạt động hay không, nếu URL của tệp tải xuống vẫn hoạt động và chạy. Bạn cũng có thể sử dụng nó trong một vòng lặp để kiểm tra xem nhiều trạng thái URL