Вот моя проблема: есть внутренняя система отслеживания проблем, у которой есть хорошая сводная страница (количество открытых проблем, разбитых разработчиком и т. Д.). Однако компактная сводная таблица окружена шаблоном (навигационное меню, окно поиска и т. д.). Я хотел бы вставить сводную таблицу на странице нашей команды, но не в окружение. Использование тега iframe <iframe> было бы тривиальным решением, если бы оно не было для крутильной области вокруг интересующей меня таблицы. К счастью, таблица HTML, о которой идет речь, хорошо очерчена: она определяется с помощью обычной таблицы < > и он даже имеет уникальный идентификатор, назначенный ему. Мне было интересно, был ли простой трюк JavaScript, связанный с манипуляциями DOM, которые я мог бы использовать для хирургического извлечения таблицы, в которой я заинтересован в iframe. Таким образом, отчет всегда будет обновляться, когда кто-то проверяет домашнюю страницу нашей команды.Скребок одной таблицы из HTML с использованием JavaScript
ответ
Если вы используете jQuery, вы можете легко вытащить код таблицы. Теперь, если таблица содержит небольшие блоки скриптов, все может стать странным; аналогично, если он полагается на некоторые таблицы стилей, убедитесь, что на целевой странице тоже есть те.
Стол окружен каким-то элементом уровня блока (или что-то еще)? Если это так, то вы можете загрузить страницу (AJAX или скрытый iframe), найти таблицу по «id», перейти к родительскому элементу и затем переместить его значение html() в целевой блок. Если для этого нет подходящего родителя уровня блока, вы можете попробовать восстановить пустой тег таблицы в пункте назначения, а затем вытащить html() из исходной таблицы и отбросить его туда; однако иногда все становится немного странным, потому что некоторые браузеры обрабатывают табличную структуру смешными способами. Могу работать.
Что-то простое для вас расширить?
function scrapeTable(tableId)
{
var tables = document.getElementsByTagName("table");
for (var i = 0; i < tables.length; i++)
{
if (tables[i].id == tableId)
{
alert("<table>" + tables[i].innerHTML + "</table>");
}
}
}
извинения за форматирование ... –
Это работает, но «innerHTML()» таблицы выиграл 't включать сами теги таблицы. Это, вероятно, не огромная сделка, при условии, что браузеры в порядке, отбрасывая столовые кишки во вновь построенную (пустую) таблицу. – Pointy
Является ли команда и трекер на том же домене/адресе?
Если это не так, вам, вероятно, придется изменить отслеживание проблем, чтобы получить желаемый результат. Большинство браузеров не позволят вам изменять/получать доступ в разных доменах по соображениям безопасности.
Если они находятся на том же домене, то вы могли бы, вероятно, использовать нагрузку Jquery с селектором:
$("#destination").load("/path/to/table/ #tableid");
Да, это действительно хорошая идея - я забыл о трюке селектора с load(). – Pointy
- 1. HTML Скребок с Javascript
- 2. Скребок HTML (или JavaScript) Таблица
- 3. Скребок HTML-таблицы с Ruby и Nokogiri
- 4. Скребок HTML с ruby
- 5. Скребок HTML с использованием R - xpathSApply
- 6. Скребок пустых полей из таблицы
- 7. Скребок DATA из Javascript с использованием SCRAPY и PYTHON
- 8. Скребок HTML-фрейма с использованием Python
- 9. Скребок HTML с обратной почтой JavaScript
- 10. Скребок из массива Javascript?
- 11. Копирование строки из одной таблицы в другую с использованием javascript
- 12. Скребок таблицы HTML в Common Lisp?
- 13. Скребок с использованием DomXPath
- 14. значения HTML таблицы с использованием JavaScript
- 15. Веб-скребок с использованием PhantomJS
- 16. Скребок с ссылками на javascript
- 17. Извлечение данных из таблицы с использованием javascript
- 18. Скребок экрана с использованием JSoup
- 19. Веб-скребок с использованием php
- 20. Скребок таблицы со страницы с использованием beautifulsoup, таблица не найдена
- 21. Веб-скребок с использованием HtmlAgilityPack
- 22. Укладка одной строки из таблицы HTML
- 23. Скребок данных из Интернета с использованием дротика
- 24. Скребок из столбца таблицы Aria Использование Rvest
- 25. Скребок таблицы информации
- 26. Веб-скребок с содержимым Javascript с использованием Python PyQt
- 27. Веб-скребок с использованием Nodejs
- 28. Скребок размером шрифта из HTML и CSS
- 29. Обновление одной таблицы с использованием данных из другой таблицы - Oracle
- 30. Скребок сайта с использованием PHP
Это то, что я сделал, с дополнительным трюком загрузки вложения в трекер ошибок, чтобы мой JavaScript был отправлен из того же домена, что и итоговый отчет. –