Как получить значения таблицы HTML с внешнего сайта? - PullRequest
0 голосов
/ 23 февраля 2019

Я хочу получить доступ к некоторым данным таблицы HTML для сохранения и использования их в автономном режиме.В данный момент я использую JavaScript, и он работает, когда я загружаю веб-страницу и помещаю JavaScript в этот файл.Но я хотел бы получить элементы либо непосредственно с веб-страницы, не загружая их ранее, либо чтобы JavaScript загружал их автоматически и получал элементы из загруженного файла.

Возможно ли это?Я не смог найти ответ, потому что все просили свою собственную веб-страницу, но я не являюсь владельцем веб-сайтов, с которых я хочу получить данные таблицы.

Мой код пока:

function showTableData() {
    var tableData = document.getElementsByClassName('homeonly');

    for (i = 1; i < tableData[0].rows.length; i++) {

        var objCells = tableData[0].rows.item(i).cells;

        for (var j = 0; j < objCells.length; j++) {
            if (objCells.item(j).innerHTML == "NAME") {
                info.innerHTML = info.innerHTML + ' ' + objCells.item(3).innerHTML;
            }
        }
    }
}

info - это идентификатор элемента абзаца в HTML для его отображения.

Ответы [ 4 ]

0 голосов
/ 23 февраля 2019

То, что вы предлагаете сделать, - это, скорее всего, форма атаки xss , к которой готовится большинство сайтов.Лучшее, что вы можете сделать, не загружая реальную веб-страницу, - это открыть вкладку Inspect Element на chrome и перейти к console.Затем вставьте и запустите свою функцию там, так как у вас будет доступ к DOM там.

enter image description here

0 голосов
/ 23 февраля 2019

Ваш первый вариант - загрузить статическую версию веб-страницы и вставить в нее свой код JavaScript.

Или - ваш второй вариант - который я нахожу намного проще, используйте консоль JavaScript Chrome для выполнения желаемых команд.

Если вы находите этот метод ограничивающим, вы можете найти веб-библиотеку node.js и записать в нее свой скребок.

0 голосов
/ 23 февраля 2019

Вы можете использовать очистку веб-страниц.Существуют различные инструменты для поиска веб-страниц на многих языках.Я также разработчик Python, я создал много скриптов с Python Selen и Scrapy.Поэтому я думаю, что это лучшее решение для ваших потребностей.

0 голосов
/ 23 февраля 2019

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

Просто отправьте запрос GET HTTP с URL, и вы получите html в ответ.Вы можете проанализировать html и найти таблицу и другие элементы.

Если кросс-домен не разрешен удаленным сервером, вы должны создать некоторый Backend с HTTP-клиентом, который будет предоставлять html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...