Эффективное извлечение данных веб-страницы в структуру данных с помощью JavaScript

Эффективное извлечение данных веб-страницы в структуру данных с помощью JavaScript

18.01.2015 06:34:46 Просмотров 54 Источник

Я новичок в JS, и я пытаюсь выяснить наиболее эффективный способ выполнения этой задачи.

Stack Exchange хранит список своих сайтов-членов по адресу http://stackexchange.com/sites

Каков наиболее эффективный способ извлечения этих данных в структуру данных, например массив или словарь в JavaScript?

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/28011453/efficiently-extracting-webpage-data-into-a-data-structure-with-javascript#comment44410252_28011453
Где вы хотите его реализовать? В расширении chrome? В веб-приложении? Куда?
https://stackoverflow.com/questions/28011453/efficiently-extracting-webpage-data-into-a-data-structure-with-javascript#comment44410435_28011453
Расширение @MehulMohan хром
https://stackoverflow.com/questions/28011453/efficiently-extracting-webpage-data-into-a-data-structure-with-javascript#comment44410499_28011453
Для расширения chrome вы можете получить текущий сайт, используя фон.js-файл, определенный в манифесте, а затем сопоставляющий его с массивом или тем, что вы хотите.
https://stackoverflow.com/questions/28011453/efficiently-extracting-webpage-data-into-a-data-structure-with-javascript#comment44410515_28011453
Смотрите мой обновленный вопрос. Я попытался сделать его полезным, так как, по-видимому, старый вопрос был ужасен.
https://stackoverflow.com/questions/28011453/efficiently-extracting-webpage-data-into-a-data-structure-with-javascript#comment44410549_28011453
Почему бы не использовать их API? api.stackexchange.com/docs/sites

Ответы - Эффективное извлечение данных веб-страницы в структуру данных с помощью JavaScript / Efficiently extracting webpage data into a data structure with JavaScript

Является ответом!
Raphael Serota

18.01.2015 06:48:17

Похоже, что все сайты stackexchange построены с одной и той же структурой. Если вы проверите свою консоль, вы увидите, что объект javascript StackExchangeопределен на любом сайте stackexchange.

Если вы просто хотите очистить эту ссылку в своем вопросе, вы можете перейти туда в своем браузере и ввести это в свою консоль: $('.gv-item-collapsed-wrapper h2').text()

На этой странице уже загружен jQuery, который можно использовать для поиска элементов на странице. Этот фрагмент кода покажет вам все названия сайтов в строке.

Еще лучше (но немного сложнее)

var arr = [];
$('.gv-item-collapsed-wrapper h2').each(function(){arr.push($(this).text())});
David

18.01.2015 06:53:05

Я только что протестировал небольшую часть сайтов, и это, кажется, работает:

window["StackExchange"] !== undefined

Если вы посмотрите на источник любой страницы, всегда есть что-то вроде этого:

StackExchange.ready(function () {

Таким образом, в основном вы проверяете, существует ли этот класс, StackExchange, и если он существует, скорее всего (я уверен, что в массах интернета кто-то заимствует/крадет код или использует одно и то же имя) сайт StackExchange.

Закрыть X