Как быстро "извлечь" конкретную информацию из веб-страниц (исходный код) и отформатировать ее в XML?
Суть: небольшая компания, в которой я работаю, рекламирует свои продукты через Google Merchant. Мы загружаем продукты в XML-файл в соответствии с требованиями Google.
Проблема: ручное форматирование тысяч продуктов в XML является трудной задачей. То, что я хочу, - это быстрый способ преобразования соответствующей информации на каждой странице продукта в форматированный XML. Я ищу (полу) автоматический путь перехода от bigHTMLSourceCode -> formattedXML.
Если я не совсем уверен, представьте, что хотите отформатировать страницу продукта Amazon в XML. Вы хотите, чтобы стоимость, описание, вес и т. Д. Были упорядочены определенным образом, с соответствующими XML-тегами и т. Д., А для тысяч продуктов это невозможно.
Я много гуглил, но мне не повезло найти программы, которые могут помочь с этим.
2 ответа
Вы найдете много историй успеха с модулем Python Beautiful Soup, и он широко рекомендуется для очистки веб-страниц, к которому я отнесу эту категорию (если вы предложите решения с регулярными выражениями, вы быстро получите выговор пользователям SU и SO).:-)). Это то, что я использовал бы для очистки вашего примера amazon.com, и я использовал это в других контекстах.
Если у вас есть некоторый базовый опыт работы с Python, вы можете посмотреть примеры и быстро найти работающее решение. Если у вас есть какая-то общая привычка программирования, вы, вероятно, можете сделать то же самое с долей времени.
(Мне не нравится, когда люди говорят: "О, это действительно легко!", Когда на практике это занимает много времени у того, кто не привык к инструменту, но я считаю, что Beautiful Soup и Python - это простое и надежное решение. Если вы найти решение, которое подходит вам лучше: great:-)).
Приложение: какая у вас система, где все страницы - статический HTML? Данные не хранятся в базе данных где-то? Я думаю, не из-за вашего вопроса. Это может создать проблему (для любого автоматического решения), если HTML не согласован на страницах продукта.
Если ваш HTML является XHTML, вы, вероятно, можете использовать XSLT?
Есть инструменты для конвертации HTML в XML
Основной альтернативой будет использование языка сценариев, который имеет модули для разбора HTML или веб-скребинга и модули для написания XML. Но это означает написание программ / сценариев.