2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 17:34 


30/03/20
363
Добрый вечер. Как автоматизированно извлечь данные с вот этого сайта: https://www.faforever.com/competitive/leaderboards/1v1 (более 9000 записей) и сохранить эти числовые данные в файле электронной таблицы для дальнейших манипуляций? В одном столбике ники, во втором рейтинги, в третьем количества игр. Есть ли способ доступный рядовому пользователю?

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 17:46 


05/09/16
11461
Cuprum2020 в сообщении #1468030 писал(а):
Есть ли способ доступный рядовому пользователю?

Думаю, что только постранично.

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 17:51 


30/03/20
363
Вручную открывать страницы и автоматизированно скачивать с них информацию - приемлемо, вручную таблицу заполнять - нет

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 18:33 


21/05/16
4292
Аделаида
Напишите небольшой скрипт на Питоне/Perl/еще на чем-нибудь.

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:06 


30/03/20
363
Какого рода скрипт? Вот как выглядит исходный код страницы: view-source:https://www.faforever.com/competitive/leaderboards/1v1
тут даже нужных чисел нет, а некие номерные ссылки

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:21 


21/05/16
4292
Аделаида
Не надо смотреть в исходный код страницы. Сделайте скрипт, который будет работать с "полученным кодом страницы" (я имею в виду, то, что получается после применения скриптов страницы и прочего).

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:29 
Аватара пользователя


14/12/17
1471
деревня Инет-Кельмында
Cкрипт страницы берет данные здесь:
Код:
https://api.faforever.com/leaderboards/ladder1v1?page[size]=100&page[number]=1

Я это узнал нажав F12 в Firefox.
Дальше понятно что делать? Если нет, то, как говорится, учите матчасть, универсального способа нет.

Вот моя попытка скачать данные с какого-то другого сайта и засунуть в таблицу (не знаю что на меня нашло на новогодних каникулах):
https://sourceforge.net/projects/aloof/
http://eugensk.blogspot.com/

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:45 
Аватара пользователя


07/03/16

3167
Cuprum2020 в сообщении #1468033 писал(а):
Вручную открывать страницы и автоматизированно скачивать с них информацию - приемлемо, вручную таблицу заполнять - нет

Что значит вручную заполнять таблицу?
Вставка (ctrl+V) данных одной страницы таблицы сайта в Excel считается ручным заполнением?

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:47 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Cuprum2020 в сообщении #1468045 писал(а):
тут даже нужных чисел нет, а некие номерные ссылки
Это ж отлично! Одним джаваскриптом можно обойтись.

Вложение:
12344.png
12344.png [ 378.56 Кб | Просмотров: 0 ]


Пока писал, eugensk выше дал ссылку. Просто запихните в адресную строку, размер страницы увеличить по вкусу.

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:52 
Аватара пользователя


14/12/17
1471
деревня Инет-Кельмында
rockclimber в сообщении #1468066 писал(а):
Пока писал, eugensk выше дал ссылку.

Это всегда так, показывать как ловить рыбу это дольше :)

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 20:08 


30/03/20
363
Emergency в сообщении #1468064 писал(а):
Вставка (ctrl+V) данных одной страницы таблицы сайта в Excel считается ручным заполнением?

Работает, я предполагал что так всё будет скопировано в одну ячейку
eugensk в сообщении #1468057 писал(а):
https://api.faforever.com/leaderboards/ladder1v1?page[size]=100&page[number]=1

А вот как раз если скопировать эту страницу, то всё в одну ячейку и копируется

Всё, всем спасибо, сто страниц скопировать в таблицу я смогу

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 21:17 


05/09/16
11461
Cuprum2020 в сообщении #1468073 писал(а):
А вот как раз если скопировать эту страницу, то всё в одну ячейку и копируется

Замените там pagesize на 9300 например и откройте браузером:
https://api.faforever.com/leaderboards/ladder1v1?page[size]=9300
И получите сразу все строки. Все 9141 строку.
С полученным текстом:
Добавляете первой строкой
id;name;mean;deviation;numGames;wonGames;rank;rating
Затем меняете на какой вам нравится разделитель (русский эксель любит в качестве разделитля точку с запятой) следующее.
Что менять --> на что менять
{"data":[ --> пусто (удалить)
}}]} --> пусто (удалить)
}}, --> перевод строки (CR\LF) если в ворде то на знак абзаца можно (^p)
{"type":"ladder1v1LeaderboardEntry","id":" --> пусто (удалить)
","attributes":{"name":" --> ;
","mean": --> ;
,"deviation": --> ;
,"numGames": --> ;
,"wonGames": --> ;
,"rank": --> ;
,"rating": --> ;
Если эксель русский, то ещё меняете точку на запятую.
Сохраняете как .csv и затем открываете Экселем.

Усё.

Замены делайте в чем вам удобнее. Я делал в Word-е...
Из командных строк -- если вы не рядовой пользователь, то в linux можно grep-ом (это все знают)
В Windows можно findstr-ом ( https://docs.microsoft.com/en-us/window ... ds/findstr ) - это не все знают, но оно тоже прекрасно работает (и поддерживает конвейеры).

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 21:37 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
wrest в сообщении #1468093 писал(а):
Усё.
Не усложняйте. Код на javascript, который превратит полученный json в HTML-таблицу (которую потом можно копировать куда угодно, а также тупо сохранить на диск и открывать тем же экселем), занимает строк 10 максимум и пишется минуты за три.

 Профиль  
                  
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 21:49 


05/09/16
11461
rockclimber в сообщении #1468098 писал(а):
Код на javascript,

Написано же:
Cuprum2020 в сообщении #1468030 писал(а):
способ доступный рядовому пользователю?

То как я написал, делается именно доступным рядовому пользователю способом, без знания что такое json и javascript. Я например, как рядовой пользователь, ничего этого написать не умею.
Более того, я это всё и сделал. В Word-e :mrgreen: Ну может ТС конечно не столь рядовой как некоторые типа меня, тогда наверное вы окажетесь правы.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group