Использование Python для поиска неработающих ссылок на сайте
Для создания скрипта поиска неработающих ссылок можно воспользоваться библиотекой requests для проверки статуса HTTP-запросов к ссылкам на вашем сайте. Можно также использовать библиотеки для парсинга HTML, чтобы извлечь все ссылки с веб-страниц и затем проверить их доступность.
Пример скрипта может включать в себя обход всех страниц сайта, извлечение ссылок и проверку их статуса. Вот пример кода на Python для этой задачи:
import requests
from bs4 import BeautifulSoup
# Функция для проверки статуса ссылки
def check_link_status(url):
try:
response = requests.head(url, allow_redirects=True)
return response.status_code
except requests.ConnectionError:
return "Ссылка не работает"
# Функция для извлечения всех ссылок с веб-страницы
def extract_links_from_page(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
links = [link.get('href') for link in soup.find_all('a')]
return links
# URL вашего сайта для анализа
site_url = 'ваш_сайт'
# Получение всех ссылок с вашего сайта
all_links = extract_links_from_page(site_url)
# Проверка статуса каждой ссылки
for link in all_links:
status = check_link_status(link)
print(f"Ссылка: {link}, Статус: {status}")
Для выгрузки результатов в CSV-файл вам потребуется использовать библиотеку csv
в Python. Вот пример модифицированного кода с добавлением выгрузки в CSV:
import requests
from bs4 import BeautifulSoup
import csv
# Функция для проверки статуса ссылки
def check_link_status(url):
try:
response = requests.head(url, allow_redirects=True)
return response.status_code
except requests.ConnectionError:
return "Ссылка не работает"
# Функция для извлечения всех ссылок с веб-страницы
def extract_links_from_page(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
links = [link.get('href') for link in soup.find_all('a')]
return links
# URL вашего сайта для анализа
site_url = 'ваш_сайт'
# Получение всех ссылок с вашего сайта
all_links = extract_links_from_page(site_url)
# Проверка статуса каждой ссылки и запись в CSV
with open('link_status.csv', 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['Ссылка', 'Статус']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for link in all_links:
status = check_link_status(link)
writer.writerow({'Ссылка': link, 'Статус': status})
Этот код добавляет запись результатов в CSV-файл с использованием библиотеки csv
. Каждая строка в файле будет содержать ссылку и ее статус.
Если есть вопросы или предложения по улучшению кода, добро пожаловать в комментарии.