Парсинг сайта - Python

Узнай цену своей работы

Формулировка задачи:

Добрый день. Возникла проблема с написанием рекурсивного парсинга страниц сайта. Суть такова, написан код, который парсит только страницу, которую я указал. Помогите разобраться как реализовать, чтобы можно было извлечь абсолютно все ссылки с сайта

Решение задачи: «Парсинг сайта»

textual
Листинг программы
url = 'http://corp.fastsite.ru/'
resp = requests.get(url)
tree = lxml.html.fromstring(resp.text)
 
xpath = './/a[(starts-with(@href,"http") or starts-with(@href,"https")) and contains(@href,"www")]/@href'
links = set(tree.xpath(xpath)) # set удалит дубликаты
print(links)
 
# или так
links = tree.xpath('.//a[@href]/@href')
links = set([href for href in links if re.match(r'(https?)://(?=www)',href)])
print(links)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы