python, нужно подставлять все слова из файла в ссылку по одному, и в другой файл записывать куда эта ссылка перенаправила

Рейтинг: -4Ответов: 1Опубликовано: 22.08.2023

Например: Файл1:

Test

Example

Proverka

Код переходит по ссылке example.com/[word]/start, подставляя вместо [word] слова из файла 1. Каждая из получившихся ссылок редиректит на другой сайт, нужно записать все ссылки после редиректа в файл 2. Как это можно реализовать?

Ответы

▲ 0Принят

Итак, я могу посоветовать использовать модуль requests для выполнения запросов и модуль re для поиска и извлечения URL-адресов после редиректа. Вот пример кода:

import requests
import re

# Открывает файл для чтения и считывает слова
with open('file1.txt', 'r') as file:
    words = file.read().splitlines()

# Открывает файл для записи
with open('file2.txt', 'w') as file:
    # Перебирает слова
    for word in words:
        # Формирует ссылку
        url = f'http://example.com/{word}/start'
        try:
            # Выполняет GET-запрос
            response = requests.get(url, allow_redirects=False)
            # Проверяет статус код ответа
            if 300 <= response.status_code < 400:
                # Извлекает URL-адрес после редиректа
                redirected_url = response.headers['Location']
                # Записывает URL-адрес в файл
                file.write(redirected_url + '\n')
            else:
                # Если ответ не является редиректом
                file.write('No redirect\n')
        except requests.exceptions.RequestException:
            # Обрабатывает ошибки запроса
            file.write('Error\n')

Ты только должен поменять 'file1.txt' на имя своего файла, содержащего слова, и 'file2.txt' на имя файла, в который ты хочешь сохранить URL-адреса после редиректа.