@Barmalei76

Как исправить код Python?

Есть код из книги по парсингу на Python
Должен выводить ссылки со страницы
А выводит вот так
/wiki/IMDb
/wiki/2007_Webby_Awards
/wiki/2017_Webby_Awards
/wiki/Internet_Archive
вот код
from urllib.request import urlopen
from bs4 import BeautifulSoup
import datetime
import random
import re

random.seed(datetime.datetime.now())


def getLinks(articleUrl):
    html = urlopen("http://en.wikipedia.org" + articleUrl)
    bsObj = BeautifulSoup(html, "html.parser")
    return bsObj.find\
        ("div", {"id": "mw-content-text"}).findAll\
        ("a", href=re.compile("^(/wiki/)((?!:).)*$"))


links = getLinks("/wiki/Kevin_Bacon")


while len(links) > 0:
    newArticle = links[random.randint(0, len(links) - 1)].attrs["href"]
    print(newArticle)
    links = getLinks(newArticle)

что с ним не так
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Все так, он так и должен выводить ссылки, никто полный путь в атрибуте href не прописывает, ибо зачем.
Плюсуйте к своим href'ам базовую ссылку

print('en.wikipedia.org' + newArticle)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы