Сводка веб-страницы с Ruby -- ruby поле с участием summary пол Связанный проблема

Web page summary with Ruby


1
vote

проблема

русский

Может кто-нибудь рекомендовать библиотеку Ruby для создания сводки данного URL? То, что я имею в виду, это сводка одно- или двух предложений, как видно в результатах поисковой системы.

Английский оригинал

Can anyone recommend a Ruby library for creating a summary of a given URL? What I have in mind is the sort of one- or two-sentence summary as seen in search engine results.

</div
     
   
   

Список ответов

1
 
vote

Вы можете просто соскрести веб-страницу для любого описания Meta Tag, либо если это не доступно первые несколько предложений из первого namespace :active_storage do desc "Migrates active storage local files to cloud" task migrate_local_to_cloud: :environment do raise 'Missing storage_config param' if !ENV.has_key?('storage_config') require 'yaml' require 'erb' require 'google/cloud/storage' config_file = Pathname.new(Rails.root.join('config/storage.yml')) configs = YAML.load(ERB.new(config_file.read).result) || {} config = configs[ENV['storage_config']] client = Google::Cloud.storage(config['project'], config['credentials']) bucket = client.bucket(config.fetch('bucket')) ActiveStorage::Blob.find_each do |blob| key = blob.key folder = [key[0..1], key[2..3]].join('/') file_path = Rails.root.join('storage', folder.to_s, key) file = File.open(file_path, 'rb') md5 = Digest::MD5.base64digest(file.read) bucket.create_file(file, key, content_type: blob.content_type, md5: md5) file.close puts key end end end 3 элемента на странице. Описание Meta Tag выглядит так:

 <код> namespace :active_storage do   desc "Migrates active storage local files to cloud"     task migrate_local_to_cloud: :environment do       raise 'Missing storage_config param' if !ENV.has_key?('storage_config')        require 'yaml'       require 'erb'       require 'google/cloud/storage'        config_file = Pathname.new(Rails.root.join('config/storage.yml'))       configs = YAML.load(ERB.new(config_file.read).result) || {}       config = configs[ENV['storage_config']]        client = Google::Cloud.storage(config['project'], config['credentials'])       bucket = client.bucket(config.fetch('bucket'))        ActiveStorage::Blob.find_each do |blob|         key = blob.key         folder = [key[0..1], key[2..3]].join('/')         file_path = Rails.root.join('storage', folder.to_s, key)         file = File.open(file_path, 'rb')         md5 = Digest::MD5.base64digest(file.read)         bucket.create_file(file, key, content_type: blob.content_type, md5: md5)         file.close         puts key       end     end   end 4  

Есть несколько библиотек Ruby для анализа HTML. Я слышу, что nokogiri хорош для такого рода вещей, но У меня нет опыта с ним лично.

 

You could you just scrape the web page for either description meta tag or if that's not available the first few sentences from the first <p> element on the page. The description meta tag looks like this:

<meta name="description" content="Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support." /> 

There's several Ruby libraries for parsing HTML. I hear that Nokogiri is good for this sort of stuff, but I have no experience with it personally.

</div
 
 
   
   
0
 
vote

Паучение сайта и соскобные страницы легко. Суммируя страницу сложно.

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

К сожалению, не все страницы имеют их, и многие, которые делают неточно. Это оставляет нас с необходимостью печенья текста, надеясь, что это уместно к содержанию и контексту. Макеты страниц варьируются, и нет стандарта, говорящего, где на странице основной контент фактически лежит и, из-за CSS и AJAX, он не может быть там, где мы ожидаем этого, в первой пару строк текста. Там не может быть <код> <p> теги, как <код> <div> или <код> <span> с соответствующими CSS может заменить внешний вид.

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

Если вы можете найти текст для суммирования, есть приличные инструменты для уменьшения нескольких абзацев или бумаги в короткое предложение. Mac OS поставляется с суммаром и имеет в течение многих лет. " суммировать текст, используя MAC OSX Или Microsoft Word AutoSummarize ToSums Talks "о включении его, если вы хотите поэкспериментировать. " Mac 101: сокращение Текст с использованием суммирования сервиса "- это использование его на Mac. Для этого есть драйвер или приложение, которое можно назвать от CLI. Смотрите « Как использовать Mac OS X's Суммарная служба в командной строке? "для получения дополнительной информации.

И, как демо, вот Адрес Геттисбурга Линкольна P >.

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

 

Spidering a site and scraping pages is easy. Summarizing a page is difficult.

The metatags can help a little, as there is supposed to be a direct correlation between the summary and the content.

Unfortunately, not all pages have them, and many that do are inaccurate. That leaves us with having to scape text, hoping that it's pertinent to the content and context. Page layouts vary and there is no standard saying where on a page the main content actually lies and, because of CSS and Ajax, it might not be where we'd expect it, in the first couple lines of text. There might not be <p> tags, as a <div> or <span> with the appropriate CSS can replace the look.

I've written many spiders that did contextual analysis of the pages, trying to summarize, and it's ugly and not bullet-proof, especially when dealing with the English language because of homonyms, synonyms, and other "nyms" that get in the way.

If you can locate text to summarize, there are decent tools to reduce several paragraphs, or a paper, into a short sentence. Mac OS comes with a summarizer, and has for years. "Summarize Text Using Mac OSX Summarize Or Microsoft Word AutoSummarize" talks about enabling it if you want to experiment. "Mac 101: Shorten text using the Summarize Service" is about using it on the Mac. There's a driver or app for it that can be called from the CLI. See "How to use Mac OS X's Summary Service on the command line?" for more info.

And, as a demo, here's Lincoln's Gettysburg address summarized to one line:

It is rather for us to be here dedicated to the great task remaining before us—that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion—that we here highly resolve that these dead shall not have died in vain—that this nation, under God, shall have a new birth of freedom—and that government of the people, by the people, for the people, shall not perish from the earth.

</div
 
 

Связанный проблема

2  Можно #to_s когда-либо неудачу?  ( Can to s ever fail ) 
Я строю простую фабрику в Ruby, который возвращает <код> Callable (<код> Lambda в этом случае), который знает, как отличить имя прошедшего типа (например, к...

3  Подавить ошибку при сохранении записи в рельсах  ( Suppress an error when saving a record in rails ) 
Я сохраняю данные в таблицу. <код> Question title:string author_id:integer description:text upvotes:integer Если значение «question.upvotes» сос...

0  Есть ли больше рубилийского способа сделать emput_val = [input_val, max] .min?  ( Is there a more rubylike way to do output val input val max min ) 
Иногда мне нужно что-то подобное: <код> output_val = ( input_val < max ) ? input_val : max И если я чувствую себя скупой в пространстве, я мог бы выбрат...

7  Rails: Размер кеша в файле управления  ( Rails control file store cache size ) 
Документация для кэша на основе файлов в Rails говорит: Обратите внимание, что кеш будет расти, пока не будет заполнен диск, если вы не Периодически очищ...

1  Теоретически безопасны для переопределения любого метода Ruby, который не начинается с подчеркивания?  ( Is it theoretically safe to redefine any ruby method that doesnt begin with und ) 
Например, это теоретически безопасно для модификации <код> Object#object_id , поскольку всегда есть <код> Object#__id__ , если вам действительно нужно знать, ...

32  Запуск программы Ruby в качестве службы Windows?  ( Running a ruby program as a windows service ) 
Можно ли запустить приложение Ruby в качестве службы Windows? Я вижу, что есть связанный вопрос, который обсуждает запуск Приложение Java в качестве службы W...

1  Rails link_to запрос params - выбор в элементе на следующей странице  ( Rails link to query params selecting in item on the next page ) 
прямо сейчас у меня <код> link_to . Похоже на кнопку пользователю. Это кнопка обновления, поэтому он направляет пользователь на страницу планов. Я не только...

2  Как я могу дублировать имя класса Ruby Core и все еще использую этот класс Core в моем классе?  ( How can i duplicate a ruby core class name and still use that core class in my c ) 
Я создаю очень ограниченный класс времени, в котором я хочу использовать метод анализа разбора Core Time Class. Так что я в конечном итоге с чем-то вроде ... ...

3  Разница между отправкой (: method_name) и методом (: method_name) .call?  ( Is there difference between sendmethod name and methodmethod name call ) 
Есть ли разница между <код> send и <код> method().call в ruby? <код> 1.send(:to_f) => 1.0 1.method(:to_f).call => 1.0 оба кажется же для меня, хотя. ...

52  В чем разница между использованием .Exists?, И. Представляют? в рубине?  ( What is the difference between using exists and present in ruby ) 
Я хочу убедиться, что я использую их для правильного случая и хотите знать любые тонкости. Кажется, они функционируют одинаково, что нужно проверить, было ли ...

1  Как обновить Ruby с 1.9.3 до 2.3.1 в Ubuntu 14.04 32 бит?  ( How to update ruby from 1 9 3 to 2 3 1 in ubuntu 14 04 32 bit ) 
Теперь я использую Ubuntu 14.04 32-битная ОС. Я ранее установил Ruby 1.9.3, и теперь я пытаюсь установить Ruby 2.3.1, используя «rbenv install -v 2.3.1». Когд...

0  Ruby On Rails - Включение клиента скачать видео  ( Ruby on rails enabling client to download videos ) 
Требование - у меня есть видео, размещенное на моем сервере, пользователь должен быть в состоянии загрузить файл, нажав на ссылку. Я следую инструкциям, при...

11  Как настроить «Приложение / LD + JSON» Schema.org Meta Data в приложении Rails 4  ( How to setup application ldjson schema org meta data in rails 4 app ) 
Я хочу настроить метаданные Schema.org с помощью JSON LD. Например, следующая ссылка использует Ghost, и она имеет «приложение / LD + JSON» Meta Data. http:/...

0  Ошибка обновления записи  ( Error updating a record ) 
Я получаю ошибку mysql: #update (ActiveReCord :: authentInvalid) "mysql :: Ошибка: # hy 000got Ошибка 139 из механизма хранения: При попытке обновить те...

1  Логические ценности не "читают" в рельсах  ( Boolean values not being read in rails ) 
Я импортировал некоторые значения из Excel, используя ROO на логические поля в моем приложении Rails. В консоль рельсов Похоже, что все работает нормально, ...

Связанный проблема

2  Можно #to_s когда-либо неудачу? 
3  Подавить ошибку при сохранении записи в рельсах 
0  Есть ли больше рубилийского способа сделать emput_val = [input_val, max] .min? 
7  Rails: Размер кеша в файле управления 
1  Теоретически безопасны для переопределения любого метода Ruby, который не начинается с подчеркивания? 
32  Запуск программы Ruby в качестве службы Windows? 
1  Rails link_to запрос params - выбор в элементе на следующей странице 
2  Как я могу дублировать имя класса Ruby Core и все еще использую этот класс Core в моем классе? 
3  Разница между отправкой (: method_name) и методом (: method_name) .call? 
52  В чем разница между использованием .Exists?, И. Представляют? в рубине? 
1  Как обновить Ruby с 1.9.3 до 2.3.1 в Ubuntu 14.04 32 бит? 
0  Ruby On Rails - Включение клиента скачать видео 
11  Как настроить «Приложение / LD + JSON» Schema.org Meta Data в приложении Rails 4 
0  Ошибка обновления записи 
1  Логические ценности не "читают" в рельсах 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.