Может ли Anemone сканировать HTML-файлы, хранящиеся локально на моем жестком диске?
Я надеюсь собрать воедино несколько десятков тысяч страниц правительственных данных (в нескольких тысячах папок), которые находятся в сети, и поместить все это в один файл. Чтобы ускорить процесс, я решил сначала загрузить сайт на свой жесткий диск, а потом сканировать его с помощью чего-то вроде Anemone + Nokogiri. Когда я попробовал пример кода с онлайн-адресом правительственного сайта, все работало нормально, но когда я меняю URL-адрес на путь к локальному файлу, код запускается, но ничего не выводит. Вот код:
url="file:///C:/2011/index.html"
Anemone.crawl(url) do |anemone|
titles = []
anemone.on_every_page { |page| titles.push page.doc.at
('title').inner_html rescue nil }
anemone.after_crawl { puts titles.compact }
end
Таким образом, ничего не выводится с локальным именем файла, но оно работает успешно, если я подключаю соответствующий онлайн-URL. Может ли Anemone как-то сканировать локальные структуры каталогов? Если нет, есть ли другие предлагаемые способы для этого сканирования или очистки, или я должен просто запустить Anemone в онлайн-версии сайта? Благодарю.
1 ответ
У вас есть пара проблем с этим подходом
Анемон ожидает, что веб-адрес выдаст запрос http, а вы передаете ему файл. Вы можете просто загрузить файл с помощью nokogiri и выполнить его разбор
Ссылки на файлы могут быть полными URL-адресами, а не относительными путями, в этом случае вам все равно нужно выполнить запрос http
Что вы можете сделать, это загрузить файлы локально, затем пройти через них с помощью nokogiri и преобразовать ссылки на локальный путь для загрузки Nokogiri в следующем