Как разобрать веб-страницу в текстовый файл или файл Excel?

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

See image for example

29
задан karel
30.01.2023 5:35 Количество просмотров материала 3365
Распечатать страницу

3 ответа

традиционно вы загружаете HTML страницы и ищете некоторую константу, которая непосредственно предшествует вашим данным. к сожалению, Ваш вопрос не имеет универсального ответа, так как каждый сайт отличается. Я написал сценарии на python, Bash и даже C#, которые тянут страницу вниз, ищут ее тег, который я хочу, и извлекают его.

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

вот некоторые скрипты, написанные для выскабливания XKCD.com http://forums.xkcd.com/viewtopic.php?f=11&t=63037

1
отвечен Frank Thomas 2023-01-31 13:23

вы можете попробовать очистить страницу с помощью Javascript (в виде скрипта Greasemonkey / Userscript / расширения / букмарклета/...). Букмарклет означает, что вы должны вручную перейти на эту страницу и выполнить ее. Другие методы позволяют передавать данные непосредственно в базу данных (локальное хранилище при использовании привилегированного расширения или веб-сервера).

написание кода Javascript требует знаний в этой области, вы будете искать функции DOM, такие как document.getElementById,getElementsByClassName и querySelector или XPath. Поскольку Etsy уже использует jQuery, вы также можете использовать jQuery для получения данных.

в качестве альтернативы соскабливанию рассмотрите возможность использования API, если он доступен. Быстрый поиск показал следующие страницы, которые могут (или не могут) помочь вы:

1
отвечен Lekensteyn 2023-01-31 15:40

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

синтаксис запроса DOM очень похож на jQuery, если вы использовали его раньше.

вы можете использовать более подробном find('div[id=foo]'); и find('div[class=bar]'); но также можно использовать более компактный jQuery-подобный метод определения селекторов с find('#foo'); и find('.bar');.

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

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

0
отвечен garethdn 2023-01-31 17:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх