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

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

09.12.2019, 00:45. Показов 3510. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru