2014 dxdy logo

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

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




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

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 17:46 
Cuprum2020 в сообщении #1468030 писал(а):
Есть ли способ доступный рядовому пользователю?

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

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 17:51 
Вручную открывать страницы и автоматизированно скачивать с них информацию - приемлемо, вручную таблицу заполнять - нет

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 18:33 
Напишите небольшой скрипт на Питоне/Perl/еще на чем-нибудь.

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:06 
Какого рода скрипт? Вот как выглядит исходный код страницы: view-source:https://www.faforever.com/competitive/leaderboards/1v1
тут даже нужных чисел нет, а некие номерные ссылки

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:21 
Не надо смотреть в исходный код страницы. Сделайте скрипт, который будет работать с "полученным кодом страницы" (я имею в виду, то, что получается после применения скриптов страницы и прочего).

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:29 
Аватара пользователя
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 
Аватара пользователя
Cuprum2020 в сообщении #1468033 писал(а):
Вручную открывать страницы и автоматизированно скачивать с них информацию - приемлемо, вручную таблицу заполнять - нет

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

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:47 
Cuprum2020 в сообщении #1468045 писал(а):
тут даже нужных чисел нет, а некие номерные ссылки
Это ж отлично! Одним джаваскриптом можно обойтись.

Вложение:
12344.png


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


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 19:52 
Аватара пользователя
rockclimber в сообщении #1468066 писал(а):
Пока писал, eugensk выше дал ссылку.

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

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 20:08 
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 
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 
wrest в сообщении #1468093 писал(а):
Усё.
Не усложняйте. Код на javascript, который превратит полученный json в HTML-таблицу (которую потом можно копировать куда угодно, а также тупо сохранить на диск и открывать тем же экселем), занимает строк 10 максимум и пишется минуты за три.

 
 
 
 Re: Как извлечь инф с сайта и сохранить в электронной таблице?
Сообщение10.06.2020, 21:49 
rockclimber в сообщении #1468098 писал(а):
Код на javascript,

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

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

 
 
 [ Сообщений: 14 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group