Задать вопрос

Существует ли такой парсер xml или html?

В разных ЯП есть библиотеки для парсинга html или xml. А существует ли какой-то готовый продукт под это дело? Допустим, я каким-нибудь Телепорт Про скачаю 1000 html-страниц. Потом указываю программе папку с файлами и шаблон для выборки. Например, взять из каждого файла содержимое заголовков или списков. Кто-то такое видел? Интересует также готовое решение для выборки из xml.
  • Вопрос задан
  • 395 просмотров
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
zkrvndm
@zkrvndm
Архитектор решений
Такую задачу можно решить на любом языке программирования, но готовых решений вы не найдете, надо писать самому. Сам бы я написал такой парсер на JavaScript и тупо оформил его в виде небольшого локального html-файла: открыл этот файлик в браузере, подцепил в поле input type="file" папку из диска, а дальше JavaScript-ом читаем все файлы из выбранной папки и распарсиваем при помощи new DOMParser().

Почему именно JavaScript, а не php или python? Просто JavaScript самый идеальный язык для парсинга html. Там из под коробки есть богатейший набор инструментов для работы с html-кодом, ни один другой язык так хорошо не умеет работать с html, как JavaScript - ведь он буквально создан для этого.
Ответ написан
Комментировать
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
Может такое и есть, но там нет "волшебной" кнопки. Нужно немного знать структуру html документа. Я такое делаю на Python. Парсингу на python можно научится за недельку-вторую. Но если знать другие ЯП, то быстрее. Если такой парсер писать самому, то у своего парсера будут неограниченные возможности.
Вот пример:
import requests
from bs4 import BeautifulSoup
from lxml import html
import os

def parsing(filename):
	with open(filename) as file:
		data = file.read()

	soup = BeautifulSoup(data,"html.parser")
	title = soup.find('h1',class_='question__title').text.strip()
	print(title)

os.chdir('html')
fileList = os.listdir('./')

for file in fileList:
	parsing(f)

Скачиваем несколько страниц с этого сайта в папку html, запускаем скрипт и он выводит заголовки вопросов на консоль. Можно заголовки(и другие данные) сохранять в файл или бд.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
помоему в content downloader было что-то подобное, но проще скриптами
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы