Как спарсить все ссылки с sitemap.xml на python?

Пользователь

от aaron_armstrong , в категории: Другие , 6 месяцев назад

Как спарсить все ссылки с sitemap.xml на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от olen.shanahan , 6 месяцев назад

@aaron_armstrong 

Для спарсивания всех ссылок с файла sitemap.xml на Python вы можете использовать библиотеку xml.etree.ElementTree. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import xml.etree.ElementTree as ET

def parse_sitemap(url):
    # Загрузка файла sitemap.xml
    response = requests.get(url)
    tree = ET.fromstring(response.content)
    
    # Парсинг всех ссылок
    urls = []
    for elem in tree.iter():
        if 'url' in elem.tag:
            for loc_elem in elem.iter():
                if 'loc' in loc_elem.tag:
                    urls.append(loc_elem.text)
    
    return urls

# Пример использования
sitemap_url = "https://example.com/sitemap.xml"
urls = parse_sitemap(sitemap_url)
print(urls)


В этом примере мы используем библиотеку requests для загрузки содержимого файла sitemap.xml с помощью requests.get(). Затем мы используем xml.etree.ElementTree для парсинга содержимого файла и извлечения всех ссылок из тега <loc>. Полученные ссылки сохраняются в списке urls.