2015-03-23 1 views
0

Я полный новичок и пытаюсь запросить данные с веб-сайта и импортировать их в электронную таблицу документов Google. Я использовал firebug/firepath для поиска xpath, когда я вставляю xpath в ячейку = importxml (Url, query), это ошибки. Вот это URL: http://www.sportfishingreport.com/pages/boatdetail.php?boat_id=781Попытка запроса данных с использованием xpath

Boat  Trip Type  Anglers     Catch 
03-22-2015 Full Day 21 48 Ocean Whitefish, 210 Rockfish, 21 Lingcod 

Может кто-то помочь мне написать XPath, так как XPath, что firepath говорит мне писать ошибки в Google Docs.

Спасибо заранее, Jess

+1

Покажите код того, что вы пробовали до сих пор. –

+1

Сообщите нам точное сообщение об ошибке, покажите формулу, введенную в эту ячейку, точное выражение XPath, и четко покажите, что вы хотите получить. –

+0

Адрес: http://www.channelislandssportfishing.com/fish-counts. Каждая ячейка имеет другой xpath для запроса. Итак, скажем, я хочу сначала импортировать имя лодки, которое является Erna B. Firepath говорит, что xpath: html/body/table [2]/tbody/tr/td/table/tbody/tr [1]/td/table/TBODY/TR/TD/стол/TBODY/TR/TD/форма/таблицы/TBODY/TR/TD/DIV/таблица [2]/TBODY/тр [1]/TD/DIV/таблица [1]/TBODY/тр [2]/тд [1]. –

ответ

1

Там нет таблиц в исходном HTML второй страницы вы указали (то есть, http://www.channelislandssportfishing.com/fish-counts). Во всяком случае, эти таблицы генерируются Javascript, но этот контент не может быть найден IMPORTXML, поскольку он работает с исходным HTML-кодом.

Но все, что вы получаете от Firepath, бесконечно сложно, так как инструмент имеет тенденцию возвращать выражения пути, которые полагаются на позиций узлов, а не фактических значений, или идентификаторов или имен. Если вы посмотрите на исходный HTML, часть HTML, который содержит «Эрна B» выглядит

<a href="/erna-b-sportfishing" ><span style="color: #000000;">Erna B</a> 

И в самом деле тривиальное выражение XPath, который выбирает этот контент, так как значение атрибута href является уникальным. Для того, чтобы иметь «Эрна B» появляются в клетке в Google Таблиц, используйте

=IMPORTXML("http://www.channelislandssportfishing.com/fish-counts","//a[@href='/erna-b-sportfishing']") 

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

+0

Привет, Матиас Мюллер, спасибо за ответ. Я попробую его и посмотрю, смогу ли я понять, что xpath для конкретных узлов должен получить доступ к типу отключения рыболовов и поймать данные для каждой ячейки. Я действительно ценю твою помощь. Я буду использовать ваш гипер-ссылочный метод. Если у меня возникнут трудности, возможно, вам придется снова обмануть вас. Еще раз спасибо, Jess –

+0

@jessj Добро пожаловать. Пожалуйста, не забудьте [** принять этот ответ **] (http://stackoverflow.com/help/someone-answers), если он решил вашу проблему. Благодаря! Если у вас возникнут дополнительные проблемы, я думаю, что было бы лучше задать новый вопрос. –

+0

Здравствуйте, Mathias Muller, я хочу импортировать всю таблицу данных, что означает название лодки, тип поездки и данные об уловах для каждой ячейки каждый день. Иногда есть 3 лодки, а иногда до 9 лодок. Как бы я это сделал, там есть якорный тег с использованием @href, который вы видите, который может это сделать. Спасибо, jess –

Смежные вопросы