Bs4-подход к странице википедии: получение информационного окнаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Bs4-подход к странице википедии: получение информационного окна

Сообщение Anonymous »

В настоящее время я пытаюсь применить подход bs4 к странице Википедии: результаты не сохраняются в df
из-за того, что очистка Википедии является очень распространенным методом - где мы можем использовать подходящий подход для работы со многими разными заданиями - у меня были некоторые проблемы с возвратом результатов - и сохранением их в df
ну - в качестве примера для очень распространенная работа Wikipedia-bs4 — мы можем взять ее:
на этой странице у нас более 600 результатов — на подстраницах: url = "https://de.wikipedia .org/wikiListe_der_St%C3%A4dte_in_Deutschland#Liste_der_St%C3%A4dte_in_Deutschland"
поэтому, чтобы создать первый экспериментальный сценарий, я следую следующим образом: сначала я скопирую таблицу со страницы Википедии, а затем я преобразуйте его в DataFrame Pandas. Поэтому я сначала устанавливаю необходимые пакеты: убедитесь, что у вас установлены запросы, beautifulsoup4 и pandas. Вы можете установить их с помощью pip, если вы еще этого не сделали:
pip install запрашивает beautifulsoup4 pandas
а затем я следую следующим образом: сначала я очищаю таблицу со страницы Википедии, а затем конвертирую ее в DataFrame Pandas.

Код: Выделить всё

import pandas as pd

# URL of the Wikipedia page
url = "https://de.wikipedia.org/wiki/Liste_der_St%C3%A4dte_in_Deutschland#Liste_der_St%C3%A4dte_in_Deutschland"
table = pd.read_html(url, extract_links='all')[1]
base_url = 'https://de.wikipedia.org'
table = table.apply(lambda col: [v[0] if v[1] is None else f'{base_url}{v[1]}' for v in  col])

links = list(table.iloc[:,0])

for link in links:
print('\n',link)
try:
df = pd.read_html(link)[0]
print(df)
except Exception as e:
print(e)
посмотрите, что я получу в ответ — всего две записи. вместо сотен.
кстати; я думаю, что лучшим способом было бы собрать все в df.
и &/или сохранить

Код: Выделить всё

Document is empty

https://de.wikipedia.org/wiki/Aach_(Hegau)
Wappen  \
0                                         NaN
1                                         NaN
2                                  Basisdaten
3                                Koordinaten:
4                                 Bundesland:
5                           Regierungsbezirk:
6                                  Landkreis:
7                                       Höhe:
8                                     Fläche:
9                                  Einwohner:
10                        Bevölkerungsdichte:
11                              Postleitzahl:
12                                   Vorwahl:
13                           Kfz-Kennzeichen:
14                         Gemeindeschlüssel:
15                                    LOCODE:
16              Adresse der  Stadtverwaltung:
17                                   Website:
18                             Bürgermeister:
19  Lage der Stadt Aach im Landkreis Konstanz
20                                      Karte

Deutschlandkarte
0                                                 NaN
1                                                 NaN
2                                          Basisdaten
3   47° 51′ N, 8° 51′ OKoordinaten: 47° 51′ N, 8° ...
4                                   Baden-Württemberg
5                                            Freiburg
6                                            Konstanz
7                                        545 m ü. NHN
8                                           10,68 km2
9                             2384 (31. Dez. 2022)[1]
10                               223 Einwohner je km2
11                                              78267
12                                              07774
13                                            KN, STO
14                                        08 3 35 001
15                                             DE AAC
16                         Hauptstraße 16  78267 Aach
17                                        www.aach.de
18                                     Manfred Ossola
19          Lage der Stadt Aach im Landkreis Konstanz
20                                              Karte
примечание: у нас там несколько сотен записей:
Изображение

см. информационное окно: я хочу получить данные информационного окна

обновление: на что нацелена: - как получить полные результаты - что хранятся в df. - и содержащий все данные - в поле info.. (см. изображение выше) - с контактной информацией и т. д.

Подробнее здесь: https://stackoverflow.com/questions/788 ... he-infobox
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»