Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 09.12.2019
Сообщений: 3

Спарсить таблицу из википедии

09.12.2019, 00:45. Показов 3547. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток, сам я начинающий в python.
Вопрос!
На странице в тык нужно найти таблицу под названием "Highest-grossing anime films in Japan".
С помощью поиска по тегам, нужно сохранить из таблицы следующие колонки: 'Title', 'Japan gross (¥ billion)', 'Year'. Каждая колонка таблицы должна быть сохранена в отдельную переменную (см. ниже названия), внутри которой лежит список, где первое значение - название колонки.

Например, колонки 'Title' список будет выглядеть так:
['Title', 'Spirited Away', ...остальные значения..., 'Doraemon: Nobita's Secret Gadget Museum']

В списке gross все значения, кроме первого, должны быть в формате float. В списке year - в формате int.

Задача
Вывести эти три списка командой
print(title)
print(gross)
print(year)

Правильный ответ:
Кликните здесь для просмотра всего текста

['Title', 'Spirited Away', 'Your Name', "Howl's Moving Castle", 'Princess Mononoke', 'Ponyo', 'Weathering with You', 'The Wind Rises', 'Detective Conan: The Fist of Blue Sapphire', 'Arrietty', 'Detective Conan: Zero the Enforcer', 'Stand by Me Doraemon', 'Yo-kai Watch: The Movie', 'Tales from Earthsea', 'Pokémon: The First Movie', 'Detective Conan: The Crimson Love Letter', 'One Piece Film: Z', 'The Cat Returns', 'Pokémon: The Movie 2000', 'Detective Conan: The Darkest Nightmare', 'The Boy and the Beast', 'Yo-kai Watch: Enma Daiō to Itsutsu no Monogatari da Nyan!', 'One Piece: Stampede', 'Porco Rosso', "Doraemon the Movie: Nobita's Treasure Island", 'Evangelion: 3.0 You Can (Not) Redo', 'One Piece Film: Gold', "Doraemon: Nobita's Chronicle of the Moon Exploration", 'Pokémon: The Rise of Darkrai', 'Pokémon 3: The Movie', 'One Piece Film: Strong World', 'Pokémon: Giratina and the Sky Warrior', 'Pokémon: Arceus and the Jewel of Life', 'Pokémon: Jirachi—Wish Maker', 'Detective Conan: Sunflowers of Inferno', 'Pom Poko', 'From Up on Poppy Hill', 'Doraemon the Movie 2017: Great Adventure in the Antarctic Kachi Kochi', 'Pokémon: Destiny Deoxys', 'Pokémon the Movie: Black—Victini and Reshiram and White—Victini and Zekrom', 'Farewell to Space Battleship Yamato', "Kiki's Delivery Service", 'Pokémon: Lucario and the Mystery of Mew', 'Lupin the 3rd vs. Detective Conan: The Movie', 'Wolf Children', 'Pokémon: Zoroark: Master of Illusions', 'Doraemon: Nobita and the Birth of Japan 2016', 'Detective Conan: Dimensional Sniper', 'Dragon Ball Super: Broly', 'Evangelion: 2.0 You Can (Not) Advance', "Doraemon: Nobita's Secret Gadget Museum"]
['Japan gross (¥ billion)', 30.8, 25.03, 19.6, 19.3, 15.5, 13.99, 12.02, 9.31, 9.25, 9.18, 8.38, 7.8, 7.65, 7.6, 6.89, 6.87, 6.46, 6.4, 6.33, 5.85, 5.53, 5.5, 5.4, 5.37, 5.3, 5.2, 5.02, 5.02, 4.85, 4.8, 4.8, 4.67, 4.5, 4.48, 4.47, 4.46, 4.43, 4.38, 4.33, 4.3, 4.3, 4.3, 4.26, 4.22, 4.16, 4.12, 4.11, 4.0, 4.0, 3.98]
['Year', 2001, 2016, 2004, 1997, 2008, 2019, 2013, 2019, 2010, 2018, 2014, 2014, 2006, 1998, 2017, 2012, 2002, 1999, 2016, 2015, 2015, 2019, 1992, 2018, 2012, 2016, 2019, 2007, 2000, 2009, 2008, 2009, 2003, 2015, 1994, 2011, 2017, 2004, 2011, 1978, 1989, 2005, 2013, 2012, 2010, 2016, 2014, 2018, 2009, 2013]


В общем то спарсить то получается, а вот выбрать определенную таблицу нет. Выручайте!

Мой код:
Python
1
2
3
4
5
6
7
8
9
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
 
url = 'https://en.wikipedia.org/wiki/List_of_highest-grossing_anime_films'
soup = BeautifulSoup(requests.get(url).text, 'html.parser')
for nazv in soup.findAll(['td','i','a']):
    if nazv.has_attr('href'):
        print(nazv.get ('title'))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2019, 00:45
Ответы с готовыми решениями:

Парсинг Сайта(не могу понять как правильно спарсить сгенерированную php таблицу )
Добрый вечер Форумчане! Есть много сгенерированных html таблиц Вот один из них Код: <TR CLASS=R1> <TD...

Как спарсить таблицу 2 в таблицу 1
Добрый день есть т на диске С:\input html с таблицей и js который ее динамически заполняет раз в минуту. В папке C:\output лежит...

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

2
0 / 0 / 0
Регистрация: 09.12.2019
Сообщений: 3
09.12.2019, 14:58  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
 
url = 'https://en.wikipedia.org/wiki/List_of_highest-grossing_anime_films'
soup = BeautifulSoup(requests.get(url).text, 'html.parser')
trs = soup.select('table.wikitable')[1]
i=0
o=1
t=2
y=3
mas1=[]
mas2=[]
mas3=[]
mas1.append(trs.select('th')[1].text.replace("\n",""))
mas2.append(trs.select('th')[2].text.replace("\n",""))
mas3.append(trs.select('th')[3].text.replace("\n",""))
i=0
while i<len(trs.select('td'))/5:
    if o<len(trs.select('td')):
        ss = trs.select('td')[o].text
        sd = trs.select('td')[t].text
        ed = trs.select('td')[y].text
        o+=5
        t+=5
        i+=1
        mas1.append(ss.replace("\n",""))
        mas2.append(float(sd))
        mas3.append(int(ed))
print(mas1)
print(mas2)
print(mas3)
Сделал так, но можно как то проще ?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.12.2019, 15:06
Цитата Сообщение от tomatique Посмотреть сообщение
но можно как то проще ?
Да. Есть выучить XPATH и CSS селекторы. И не пользоваться BeautifulSoup.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2019, 15:06
Помогаю со студенческими работами здесь

Спарсить таблицу с данными и ссылками
Срочно нужна помощь :) Есть страница : http://dengi.161.ru/exchange/exchange.html Необходимо разместить эту же таблицу у себя на...

Возможно ли спарсить текст в таблицу?
Добрый Вечер, имеется такой Pdf (картинка) я уже смог его считать в стринг (ну или textfile), а вот как бы эти строчки в таблицу засунуть...

Где спарсить матчи или взять в ввиде json, ато спарсить не получается, нужны название. дата и время и коэфициенты
&lt;? include 'simple_html_dom.php'; $maxpost = '5'; // к-во постов $url = 'http://soccer365.ru/'; $ch = curl_init($url); ...

Как спарсить таблицу через INNER JOIN как отдельный элемент массива
Всем привет! Есть запрос: SELECT ba.*, thread.title, post.message, node.node_id, node.title AS node_title, user.* FROM...

ссылка из википедии
Вопрос: можно ли разместить в википедии материал, с сылкой на свой сайт? как лучше это делать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru