Class: Artaius::Plugins::Scraper

Inherits:
Object
  • Object
show all
Includes:
Cinch::Plugin
Defined in:
lib/artaius/plugins/scraper.rb

Overview

Scraps web pages, that have attribute.</p> </div> </div> <div class="tags"> </div> <h2> Instance Method Summary <small><a href="#" class="summary_toggle">collapse</a></small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="/gems/artaius/Artaius/Plugins/Scraper#scrap_links-instance_method" title="#scrap_links (instance method)">#<strong>scrap_links</strong>(m) ⇒ Object </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> </ul> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="scrap_links-instance_method"> #<strong>scrap_links</strong>(m) ⇒ <tt>Object</tt> </h3><script> document.getElementById("scrap_links-instance_method").insertAdjacentHTML( "afterbegin", '<a class="permalink" href="/gems/artaius/Artaius%2FPlugins%2FScraper:scrap_links">permalink</a>' ); </script> <table class="source_code"> <tr> <td> <pre class="lines"> 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/artaius/plugins/scraper.rb', line 12</span> <span class='rubyid_def def kw'>def</span> <span class='rubyid_scrap_links identifier id'>scrap_links</span><span class='lparen token'>(</span><span class='rubyid_m identifier id'>m</span><span class='rparen token'>)</span> <span class='rubyid_unless unless kw'>unless</span> <span class='rubyid_@agent ivar id'>@agent</span> <span class='rubyid_@agent ivar id'>@agent</span> <span class='assign token'>=</span> <span class='rubyid_Mechanize constant id'>Mechanize</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span> <span class='rubyid_@agent ivar id'>@agent</span><span class='dot token'>.</span><span class='rubyid_user_agent_alias identifier id'>user_agent_alias</span> <span class='assign token'>=</span> <span class='string val'>'Linux Firefox'</span> <span class='rubyid_end end kw'>end</span> <span class='rubyid_URI constant id'>URI</span><span class='dot token'>.</span><span class='rubyid_extract identifier id'>extract</span><span class='lparen token'>(</span><span class='rubyid_m identifier id'>m</span><span class='dot token'>.</span><span class='rubyid_message identifier id'>message</span><span class='comma token'>,</span> <span class='dstring node'>%w[http https]</span><span class='rparen token'>)</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_link identifier id'>link</span><span class='bitor op'>|</span> <span class='rubyid_begin begin kw'>begin</span> <span class='rubyid_page identifier id'>page</span> <span class='assign token'>=</span> <span class='rubyid_@agent ivar id'>@agent</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span><span class='lparen token'>(</span><span class='rubyid_link identifier id'>link</span><span class='rparen token'>)</span> <span class='rubyid_uri identifier id'>uri</span> <span class='assign token'>=</span> <span class='rubyid_URI constant id'>URI</span><span class='dot token'>.</span><span class='rubyid_parse identifier id'>parse</span><span class='lparen token'>(</span><span class='rubyid_link identifier id'>link</span><span class='rparen token'>)</span> <span class='rubyid_rescue rescue kw'>rescue</span> <span class='rubyid_Mechanize constant id'>Mechanize</span><span class='colon2 op'>::</span><span class='rubyid_ResponseCodeError constant id'>ResponseCodeError</span> <span class='rubyid_m identifier id'>m</span><span class='dot token'>.</span><span class='rubyid_reply identifier id'>reply</span> <span class='rubyid_I18n constant id'>I18n</span><span class='dot token'>.</span><span class='rubyid_scraper identifier id'>scraper</span><span class='dot token'>.</span><span class='rubyid_broken_link identifier id'>broken_link</span> <span class='rubyid_and and kw'>and</span> <span class='rubyid_next next kw'>next</span> <span class='rubyid_end end kw'>end</span> <span class='rubyid_title identifier id'>title</span> <span class='assign token'>=</span> <span class='rubyid_page identifier id'>page</span><span class='dot token'>.</span><span class='rubyid_title identifier id'>title</span><span class='dot token'>.</span><span class='rubyid_gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/[\x00-\x1f]*/</span><span class='comma token'>,</span> <span class='string val'>""</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/[ ]{2,}/</span><span class='comma token'>,</span> <span class='string val'>" "</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='rubyid_strip identifier id'>strip</span> <span class='rubyid_rescue rescue kw'>rescue</span> <span class='rubyid_nil nil kw'>nil</span> <span class='rubyid_if if kw'>if</span> <span class='rubyid_title identifier id'>title</span> <span class='rubyid_case case kw'>case</span> <span class='rubyid_uri identifier id'>uri</span><span class='dot token'>.</span><span class='rubyid_host identifier id'>host</span> <span class='rubyid_when when kw'>when</span> <span class='string val'>'forum.kag2d.com'</span> <span class='rubyid_pattern identifier id'>pattern</span> <span class='assign token'>=</span> <span class='regexp val'>/ \| Page \d{1,4} \| King Arthur's Gold Forum$/</span> <span class='rubyid_title identifier id'>title</span><span class='dot token'>.</span><span class='rubyid_sub! fid id'>sub!</span><span class='lparen token'>(</span><span class='rubyid_pattern identifier id'>pattern</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rparen token'>)</span> <span class='rubyid_m identifier id'>m</span><span class='dot token'>.</span><span class='rubyid_reply identifier id'>reply</span> <span class='rubyid_I18n constant id'>I18n</span><span class='dot token'>.</span><span class='rubyid_scraper identifier id'>scraper</span><span class='dot token'>.</span><span class='rubyid_h identifier id'>h</span><span class='dot token'>.</span><span class='rubyid_kag_forum identifier id'>kag_forum</span><span class='lparen token'>(</span><span class='rubyid_title identifier id'>title</span><span class='rparen token'>)</span> <span class='rubyid_else else kw'>else</span> <span class='rubyid_m identifier id'>m</span><span class='dot token'>.</span><span class='rubyid_reply identifier id'>reply</span> <span class='rubyid_I18n constant id'>I18n</span><span class='dot token'>.</span><span class='rubyid_scraper identifier id'>scraper</span><span class='dot token'>.</span><span class='rubyid_title identifier id'>title</span><span class='lparen token'>(</span><span class='rubyid_title identifier id'>title</span><span class='rparen token'>)</span> <span class='rubyid_end end kw'>end</span> <span class='rubyid_end end kw'>end</span> <span class='rubyid_end end kw'>end</span> <span class='rubyid_end end kw'>end</span> </pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Tue Sep 15 06:45:44 2026 by <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.9.45 (ruby-4.0.6). </div> </div> </body> </html>