Tập lệnh Python để kiểm tra nhiều trạng thái URL

Sơ đồ trang web là các Tệp XML bao gồm tất cả các URL mà chủ sở hữu trang web muốn Công cụ Tìm kiếm lập chỉ mục. Vì tất cả các URL đó đều muốn được lập chỉ mục, nên tất cả chúng cần phải là URL có thể thu thập thông tin và đang hoạt động với Mã trạng thái HTTP “OK” và “200” chắc chắn. Bao gồm các URL có Mã trạng thái không phải 200 là một cách làm không chính xác. Nó gây hại cho tài nguyên thu thập thông tin của Công cụ Tìm kiếm và Giá trị Tin cậy của thực thể web trong mắt Công cụ Tìm kiếm. Sơ đồ trang web là một tín hiệu chắc chắn để thu thập thông tin, hiển thị và lập chỉ mục. Việc sử dụng sơ đồ trang web mà không có phương pháp thực hành chính xác có thể làm tăng Báo cáo mức độ phù hợp của Google Search Console với “URL đã gửi được chuyển hướng” hoặc “Không tìm thấy URL đã gửi (404)”, “URL đã gửi trả về yêu cầu trái phép (401)” và hơn thế nữa. Trong hướng dẫn này, chúng tôi sẽ trình bày cách kiểm tra mã trạng thái của URL bằng Python và chúng tôi sẽ sử dụng phương pháp tương tự để kiểm tra URL trong Sơ đồ trang web

Chúng tôi cũng sẽ thực hiện Kiểm tra sơ đồ trang web hoàn chỉnh bằng Python trong tương lai đối với cả lỗi mã và cả các trường hợp “noindex”, “lỗi thu thập dữ liệu”, “bị chặn” và “hồ sơ liên kết nội bộ” của URL. Bất kỳ URL nào trong sơ đồ trang web phải được chuẩn hóa và có Mã trạng thái HTTP “200”. Để tìm hiểu thêm về Ngân sách thu thập thông tin và Hiệu quả, bạn có thể đọc Nguyên tắc Báo cáo Bảo hiểm Chỉ mục của Search Console của Google của chúng tôi

Ngoài ra, nếu bạn không có đủ thông tin về Sơ đồ trang web, bạn có thể đọc các bài viết bên dưới

  1. Sơ đồ trang web XML là gì?
  2. Sơ đồ trang web HTML là gì?
  3. Sơ đồ trang web hình ảnh là gì?
  4. Sơ đồ trang web Tin tức là gì?
  5. Làm cách nào để gửi Sơ đồ trang web?

Nội dung của Điều thể hiện

  1. 1. Làm cách nào để kiểm tra mã trạng thái HTML của URL bằng Python?
  2. 2. Làm cách nào để lấy tất cả các URL từ Sơ đồ trang web bằng Python?
  3. 3. Diễn giải sơ đồ trang web bằng Python và SEO toàn diện

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

Trong Python, có rất nhiều thư viện liên quan đến URL, chẳng hạn như “urllib3”, “requests” hoặc “scrapy”. Nếu không tìm nạp URL và nội dung của nó, chúng tôi không thể thu thập dữ liệu và lấy dữ liệu từ web. Do sự phụ thuộc này, việc đọc các URL là một bước cơ bản quan trọng đối với Nhà phát triển Python. “urllib3” là Thư viện Python cơ bản và quan trọng nhất để đọc và phân tích cú pháp các URL. Có thể phân tích phân loại của một trang web hoặc chỉ các tham số URL và các đoạn nhờ vào “urllib3”. Tuy nhiên, để kiểm tra mã trạng thái của một URL, chúng tôi sẽ sử dụng thư viện “yêu cầu”

“Yêu cầu” là một Thư viện Python khác giúp thực hiện HTTP 1 đơn giản. 1 Yêu cầu từ máy chủ. Chúng tôi cũng có thể sử dụng tham số, xác thực hoặc cookie với các yêu cầu. Nhưng đối với hướng dẫn này, chúng tôi sẽ chỉ sử dụng một phương pháp đơn giản của nó được gọi là “status_code”. Dưới đây, bạn sẽ thấy một ví dụ yêu cầu đơn giản với Python cho một URL

import requests
url = 'https://www.youtube.com'
request = requests.get(url)
print(request.status_code)
  • Dòng đầu tiên là để nhập thư viện Python cần thiết, đó là “yêu cầu”
  • Dòng thứ hai là để tạo một biến bao gồm URL mà chúng tôi muốn kiểm tra mã trạng thái của nó
  • Dòng thứ ba là để tạo một yêu cầu cho nội dung của biến “url” và gán nó cho một biến là “yêu cầu”
  • Dòng thứ tư là để in mã trạng thái của URL

Bên dưới, bạn sẽ thấy mã trạng thái của URL được xác định cho lần thử này

Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tập lệnh Python để kiểm tra nhiều trạng thái URL
Chúng tôi thấy mã trạng thái của Yêu cầu của chúng tôi

Nó chỉ cung cấp mã trạng thái của URL. Để kiểm tra chéo điều này, chúng tôi có thể sử dụng một URL không hợp lệ

import requests
url = 'https://www.youtube.com/non-exist-url'
request = requests.get(url)
print(request.status_code)
Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tất nhiên, chúng tôi có phản hồi 404 cho thời gian này.

Lần này, kết quả của chúng tôi chỉ đơn giản là 404 có nghĩa là "lỗi". Bây giờ, đơn giản là chúng ta có thể tiếp tục triển khai phương pháp tương tự cho sơ đồ trang web. Tuy nhiên, làm cách nào chúng tôi có thể lấy tất cả các URL từ sơ đồ trang web?

Để tìm hiểu thêm về Python SEO, bạn có thể đọc các nguyên tắc liên quan

  1. Cách resize ảnh hàng loạt bằng Python
  2. Cách thực hiện Phân tích TF-IDF bằng Python
  3. Cách thu thập dữ liệu và phân tích Trang web bằng Python
  4. Cách thực hiện phân tích văn bản qua Python
  5. Cách kiểm tra robot. txt qua Python
  6. Cách so sánh và phân tích rô-bốt. txt qua Python
  7. Làm cách nào để phân loại các tham số và truy vấn URL qua Python?
  8. Cách thực hiện phân tích cấu trúc nội dung thông qua Python và Sơ đồ trang web
  9. Cách kiểm tra lỗi ngữ pháp và ngôn ngữ bằng Python
  10. Cách kiểm tra Mã trạng thái của URL trong Sơ đồ trang web thông qua Python
  11. Cách phân loại truy vấn bằng thuật toán Apriori và Python

Làm cách nào để lấy tất cả các URL từ Sơ đồ trang web bằng Python?

Để lấy tất cả các URL từ sơ đồ trang web, chúng tôi cũng có thể sử dụng Thư viện Scrapy hoặc Python khác, nhưng tất cả các thư viện đó đều yêu cầu quy trình tạo tập lệnh tùy chỉnh mà chúng tôi sẽ nói sau. Để tạo phương pháp nhanh, chúng tôi sẽ sử dụng phương pháp “sitemap_to_df()” của Advertools

import advertools as adv
import pandas as pd
import requests
sigortam = adv.sitemap_to_df('https://www.sigortam.net/sitemap.xml')
sigortam.to_csv('crawled_sitemap.csv', index = False)
sigortam = pd.read_csv('crawled_sitemap.csv')
sigortam.head(5)
  • Dòng đầu tiên để nhập “advertools”
  • Dòng thứ hai là để nhập gấu trúc
  • Dòng thứ ba là để nhập yêu cầu
  • Dòng thứ tư là để biến sơ đồ trang web của trang web đã chọn thành khung dữ liệu và gán một biến
  • Dòng thứ năm là để tạo tệp đầu ra từ khung dữ liệu đã tạo
  • Dòng thứ sáu là để đọc khung dữ liệu từ tệp CSV đã tạo
  • Dòng thứ bảy là để lấy 5 dòng đầu tiên từ trên xuống

Bạn có thể thấy kết quả bên dưới

Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tập lệnh Python để kiểm tra nhiều trạng thái URL
Chúng tôi có 5 hàng đầu tiên từ Sơ đồ trang web đã chọn

Chúng tôi có tất cả các phần cần thiết của tệp sơ đồ trang web trong một khung dữ liệu. Để kiểm tra mã trạng thái của các URL trong Sigortam. net, chúng ta chỉ cần một cột là “loc”

for url in sigortam['loc']:
    status = requests.get(url)
    sigortam['status] = url.status_code
    print(f'Status code of {url} is {status.reason} and {status.status_code}')
  • Dòng đầu tiên là để bắt đầu vòng lặp for cho cột cần thiết của khung dữ liệu
  • Dòng thứ hai là để thực hiện yêu cầu và gán nó vào một biến
  • Dòng thứ ba là để nối thêm mã trạng thái của các URL được yêu cầu vào một cột mới của khung dữ liệu hiện có
  • Dòng thứ tư là để in Mã trạng thái của URL

Bạn có thể thấy kết quả của khối mã ở trên

Bạn có thể thấy trạng thái phản hồi từ vòng lặp for của chúng tôi

Như bạn có thể thấy rằng chúng tôi đang kiểm tra hàng loạt mã trạng thái của sơ đồ trang web và chúng tôi đang in chúng. Chúng tôi cũng đã nối tất cả chúng vào khung dữ liệu

sigortam[['loc', 'status']].head(20)

Trong ví dụ này, chúng tôi chỉ gọi các cột được nhắm mục tiêu và 20 dòng của chúng từ trên cùng

Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tập lệnh Python để kiểm tra nhiều trạng thái URL
Bạn có thể kiểm tra mã trạng thái của các URL

Như bạn có thể thấy rằng các URL của chúng tôi và mã trạng thái của chúng nằm trong cùng một khung dữ liệu. Bây giờ, chúng tôi có thể kiểm tra xem có bao nhiêu phần trăm URL có 200 Mã trạng thái

sigortam['status'].value_counts()

Đoạn mã trên đếm tất cả các giá trị trong cột xác định. Chúng ta có thể thấy kết quả dưới đây

Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tập lệnh Python để kiểm tra nhiều trạng thái URL
Chúng tôi có 3362 200 Mã trạng thái

Nó chỉ đơn giản nói rằng tất cả các URL của chúng tôi có 200 mã trạng thái. Trong một số trường hợp, các URL trong sơ đồ trang web có thể có 301, 302 hoặc 404, 410, v.v. mã trạng thái. Để lọc các URL này theo một phương pháp dễ dàng hơn, bạn có thể nối tất cả các URL đó vào các cột khác nhau để xử lý chúng dễ dàng hơn. Ngoài ra, bạn có thể thêm chúng vào một danh sách với sự trợ giúp của phương thức “tolist()”, sau đó bạn có thể sử dụng phương thức “to_frame()” để hiển thị chúng trong một khung. Mã bên dưới dùng để nối thêm URL vào các danh sách khác nhau theo mã trạng thái của chúng

for url in sigortam['loc'].sample(100).tolist():
    url_400 = []
    url_200 = []
    url_300 = []
    url_500 = []
    resp = requests.get((url, resp.status_code))
    if  400 <= resp.status_code < 500:
        url_404.append((url, resp.status_code))
    elif 300 <= resp.status_code < 400:
        url_300.append((url, resp.status_code))
    elif 500 < resp.status_code < 600:
        url_500.append((url, resp.status_code))
    else:
        url_200.append((url, resp.status_code))

Diễn giải sơ đồ trang web bằng Python và SEO toàn diện

Sơ đồ trang web là một trong những yếu tố thiết yếu nhất của SEO trong hơn 15 năm. Chúng hiển thị Cấu trúc URL, Phân loại của thực thể web, xu hướng phát triển về số lượng URL, dòng thời gian xuất bản URL, v.v. Giải thích sơ đồ trang web bằng các phương pháp thủ công hoặc bằng Python là một lợi thế cho SEO. Nếu bạn đọc bài viết “Cách phân tích chiến lược nội dung của một trang web theo sơ đồ trang thông qua Python” của chúng tôi, bạn sẽ thấy điều này tốt hơn. Ngoài ra, điểm sức khỏe của sơ đồ trang web có thể ảnh hưởng đến giao tiếp giữa công cụ tìm kiếm và trang web. Sơ đồ trang web không chính xác có thể gây ra sự mất giá trị về độ tin cậy và điểm chất lượng trong mắt công cụ tìm kiếm đối với một trang web cụ thể. Cấu trúc liên kết nội bộ, URL trong sơ đồ trang web và URL chính tắc phải nhất quán. Bạn có thể đọc thêm về sơ đồ trang web trong HolisticSEO. Kỹ thuật số và tìm hiểu thêm về tầm quan trọng của chúng

Với tư cách là SEO toàn diện, chúng tôi sẽ tiếp tục cải thiện Nguyên tắc SEO Pythonic của mình

  • Tác giả
  • Bài viết gần đây

Tập lệnh Python để kiểm tra nhiều trạng thái URL
Tập lệnh Python để kiểm tra nhiều trạng thái URL

Koray Tuğberk GÜBÜR

Chủ sở hữu và Người sáng lập tại SEO toàn diện & Kỹ thuật số

Koray Tuğberk GÜBÜR là Giám đốc điều hành và Người sáng lập của Holistic SEO & Digital, nơi ông cung cấp các dịch vụ Tư vấn SEO, Phát triển Web, Khoa học Dữ liệu, Thiết kế Web và Tối ưu hóa Công cụ Tìm kiếm với vai trò lãnh đạo chiến lược cho các Dự án Khách hàng SEO của cơ quan. Koray Tuğberk GÜBÜR thường xuyên thực hiện Kiểm tra SEO A/B để hiểu Google, Microsoft Bing và Yandex cũng như thuật toán của các công cụ tìm kiếm và chương trình nghị sự nội bộ. Koray sử dụng Khoa học dữ liệu để hiểu các đường cong nhấp chuột tùy chỉnh và cây quyết định của thuật toán công cụ tìm kiếm nhỏ. Tuğberk đã sử dụng nhiều trang web để viết các Case Study SEO khác nhau. Ông đã xuất bản hơn 10 Nghiên cứu điển hình về SEO với hơn 20 trang web để giải thích về các công cụ tìm kiếm. Koray Tuğberk bắt đầu Sự nghiệp SEO của mình vào năm 2015 trong ngành sòng bạc và chuyển sang ngành SEO mũ trắng. Koray đã làm việc với hơn 300 công ty cho các Dự án SEO của họ kể từ năm 2015. Koray đã sử dụng SEO để cải thiện trải nghiệm người dùng và tỷ lệ chuyển đổi cùng với nhận thức về thương hiệu của các doanh nghiệp trực tuyến từ các ngành dọc khác nhau như bán lẻ, thương mại điện tử, liên kết và trang web b2b hoặc b2c. Anh ấy thích kiểm tra các trang web, thuật toán và công cụ tìm kiếm