@kokojamba

Как собрать внутренние ссылки со страницы?

Сабж.

Бывают разные варианты, но как их все элегантно учесть не понятно.
Приведу возможный список, при условии что парсим с example.com:
  • example.com/page.php
  • //example.com/page2.php
  • page3.php(без слеша)
  • /page4.php(без слеша)

Может есть уже написанная функция со всеми проверками?
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 1
@pcdesign
Этим имхо должны заниматься соответствующие модули, а не регекспы.
Например, так:

from bs4 import BeautifulSoup
import urllib.request
from urllib.parse import urlparse

resp = urllib.request.urlopen("https://toster.ru")
soup = BeautifulSoup(resp, from_encoding=resp.info().get_param('charset'))

for link in soup.find_all('a', href=True):
    href = link['href']
    if not urlparse(href).netloc or 'toster.ru' in href:
        print(href)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы