@teddysto

Как получить ссылки на проекты википедии?

Пишу парсер, пытаюсь получить ссылки на остальные проекты википедии:
630b7dd51d29f745547521.png
Проблема в том, что к классу, в котором хранятся эти проекты привязано ещё куча мусора.
630b7fc0173db897324045.png
Как мне вывести только проекты?
Вот код:
import requests
from bs4 import BeautifulSoup

response = requests.get("https://ru.wikimedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0")
html = response.text

soup = BeautifulSoup(html, "lxml")

find_all_hrefs = soup.find_all(class_="external text")
for item in find_all_hrefs:
    item_text = item.text
    item_href = item["href"]
    print(f"{item_text}: {item_href}")
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@PavelMos
У таблицы ссылок с проектами есть же уникальный аттрибут summary

project1=soup.find('table', summary='Краткое описание других проектов Фонда Викимедиа и ссылки на них')
project1
Out[14]: 
<table align="center" cellspacing="2" class="plainlinks" style="text-align:left; width:90%; background:transparent; line-height:1.25em" summary="Краткое описание других проектов Фонда Викимедиа и ссылки на них">
<tbody><tr>
<td style="text-align:center; width:50px"><a href="//wikipedia.org"><img alt="Wikipedia-logo.png" data-file-height="200" data-file-width="200" decoding="async" height="20" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/63/Wikipedia-logo.png/20px-Wikipedia-logo.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/63/Wikipedia-logo.png/30px-Wikipedia-logo.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/63/Wikipedia-logo.png/40px-Wikipedia-logo.png 2x" width="20"/></a>
....

а потом
p2=project1.find_all(href=re.compile('https:\/\/')) 
for i in p2: print (i.get('href'))
https://wikipedia.org
https://commons.wikimedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0?uselang=ru
https://www.wikidata.org/wiki/Wikidata:%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
https://meta.wikimedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0?uselang=ru
https://wikisource.org
https://wikibooks.org
https://wikiquote.org
https://incubator.wikimedia.org/wiki/Incubator:Main_Page/ru?uselang=ru
https://wikinews.org
https://wikivoyage.org
https://species.wikimedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0?uselang=ru
https://mediawiki.org/wiki/MediaWiki/ru?uselang=ru
https://wiktionary.org
https://wikiversity.org
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 23:46
20000 руб./за проект
24 нояб. 2024, в 23:07
2000 руб./за проект