Webben skrapning med Ruby (1 / 1 steg)

Steg 1: Detaljerad information och exempel



Nu ute där människor kommer att försöka berätta, behöver du den X eller Y pärlan (som Nekogiri eller Mechanize) fortfarande för de flesta fall behövs inte.

En normal ruby installation och en texteditor (Notepad ++ eller vad du vill).

Jag använder RubyMine, det är inte gratis, men jag gillar det, det känns och ser ut som Visual Studio.

Nu till exempel. Jag spelar ett spel kallas Warframe (www.warframe.com) och spelet har ett system som erbjuder en tid uppdrag med fina belöningar, men uppdragen är tiden begränsad och visas slumpmässigt. Den officiella webbplatsen har ett twitter-konto som presenterar alert uppdragen och det finns några fan gjort webbplatser också, ännu en android applikation. För windows måste du vara inloggad med spelet eller hålla ett webbläsarfönster öppna med twitter eller en av fansidor gjorde, men det finns inget program. Fram till nu :D

Jag kommer för att använda en av fläkten gjort platser för att få de uppgifter som behövs. (http://deathsnacks.com/wf/index.html)

nu för kod (http://pastebin.com/153FFXJf) kommenterade och syntax belyst.

---------

# http://deathsnacks.com/wf/index.html
kräver "open-uri"

#start ny tråd

t = Thread.new vill

samtidigt sant

Conn = open('http://deathsnacks.com/wf/index.html').read

table_data = conn.scan / /

table_data_refined =]

table_data.each {|data|

data.gsub! (/ <. +? > /, '')

# lägga till blanksteg efter pris

data.gsub! ('0cr', '0cr')

table_data_refined << uppgifter

}

sätter "

sätter "Warframe varningar av Neumann Gregor"

$i = 0

table_data_refined.each |looped|

om (table_data_refined [$i] [0] = ~ /[[:digit:]]/)

#insert utrymmen mellan gemener och versaler bokstäverna i sträng

sätter "+ (table_data_refined [$i]).to_s.gsub (/ (? < = [a-z])(?=[A-Z]) /, '")

slutet

$i += 1

slutet

sova 10

Gem.win_platform?? (system "cls"): (system "clear")

slutet

slutet

får

t.kill

---------

Som ni ser, vi bara läsa alla data, HTML-sidan, sedan leta efter < li >< /li > Taggar och få det i en matris. sedan förfina vi som genom att söka efter poster som börjar med nummer och vi sedan remsor HTML-taggar och lägga till vissa utrymmen för en bättre behandling, vi upprepar som var 10 sekunder tills vi slog in, om du gör att det avslutas.

Jag har lagt till källkoden som en .rb-fil och en ocra genereras exe för personer som inte har ruby installerat och vill inte installera den.

Se Steg
Relaterade Ämnen

Början webbsida skrapning med php.

Vi har gjort vissa webbsida skrapa med bash och nu vill vi öka kraften i koden med ett webbsida scripting språk kallas PHP. Det är P vanligtvis i (W/M/L) amp stack på en Apache2 webbserver. Jag kommer att visa er resultaten av manus, disect skriptet...

Automatiserad webb testning i Ruby med Watir-Webdriver

Detta instructable handlar om automatiserad webbprogram testning med Ruby programmeringsspråk och den Watir-Webdriver pärlan. Dessa kan hittas på http://rubyinstaller.org/ och http://watirwebdriver.com/ respektive.Ruby är ett lätt att lära och lätt a...

Webbsida skrapning via Linux.

En av de mest intressanta sakerna att göra med linux är använda kommandoraden för att sidan skrapning. Du kan jaga på nätet för den information du behöver utan att spendera en mycket tid on-line. Jag visar dig också sidorna där uppgifterna kommer frå...

Arduino grafiska seriell kommunikation med klättre (Blink LED)

Arduino använder allmänt för olika typer av dator/elektroniska projekt för många ändamål, den har en väl utformad kompilator som minska kodning och belastande upp tid, klättre är en grafisk programmering språk som använder höjd grafiska komponenter m...

Hur man gör en iphone/android/web kontrollerbar förlängningssladd som kan användas för att styra din crockpot, garageport, kaffebryggare, riskokare, smoothie mixer... fisk tank bubbelflaskan eller någon annan elektronisk enhet från var som helst med tillg

Detta instructable kommer att lära dig hur du skapar en dator/iPhone/Android-kontrollerbara nätsladd som kan styra något elektriskt från var som helst med tillgång till internet. Bygget kostar 60$ och det är ganska lätt att göra. Det kommer förmodlig...

Konstgjorda Spider Web skapelse med varmt lim

Vill du förbereda din egen web? som spindlar?Först av allt, plocka en fin spider web bild från internet genom att helt enkelt googla.Efter att förbereda ditt material.1) limpistol2) hot lim (vit färg) (mer än 1 Kg)3) brett klistermärken (jag använde...

Arbetar med flera datorer (för studenter)

arbeta med flera datorer kan vara mycket svårt. Man vet aldrig vad filerna finns på datorn, du kan stöta på problem med flera version av samma fil, och som ett resultat, kan du förlora dina filer alla tillsammans eller åtminstone ha ditt liv förvandl...

Goldie brons lera ringen med namn i runor av 16-åriga Artist-in-Residence. Du kan göra det också!

Goldie brons lera är en ganska ny produkt, släpptes i 2012. mycket billigare att spela med- och mindre svårt att arbeta med - än Art Clay Silver, enligt min mening. Detta instructable är om att "betala den framåt"; Jag undervisar min 16-åriga Ar...

Instructables på din hemsida eller blogg - uppdaterad!

Detta Instructable visar dig hur du kan bädda in en lista med länkar till din Instructables på din webbplats, formaterade precis som på din profilsida. De uppdateras automatiskt varje gång sidan laddas och är sorterbara av vyer, rating, senaste och n...

Spectrographic Auroral indikator - en Northern Lights varning enhet

---3/16/2011 EDIT: The Wing Kp förutspådde geomagnetiska aktivitetsindex modellen distribueras nu och operativa. Costello nu betraktas som icke-operativ och kommer att upphöra den 23 Mar 2011. Kommentarer och frågor är välkomna på SWPC. CustomerSuppo...

Bländande Fundraising tecken: 140 watt av Internet ansluten lysdioder

Bygga internet anslutna tecknet för att samla in pengar till en lokal välgörenhetsorganisation!Läs mer om high power LED, Arduino, Raspberry Pi & python, digital radio, ledningar & lödning och ett litet snickeri.Förhoppningsvis i 10 timmar eller s...

Hem Alert: Arduino + moln meddelandehantering på en stor Display

I en ålder av mobiltelefoner förväntar du dig att folk skulle vara lyhörd för ditt samtal 24/7.Eller... inte. När min fru kommer hem, telefonen förblir begravd i hennes handväska, eller dess batteriet är urladdat. Vi har inte en vanlig telefon. Ringa...

Duct Tape grepp plockar

är du trött på plockar glider ur handen när du spelar ditt instrument? Är du trött på att sprita ut mer pengar än du har till bara för att få speciella "grepp plockar"? Om svarat ja på någon av dessa två frågor sedan Uppehälleläsning. En lösning...

HP Scanjet5 uppgradering

uppgradera en HP Scanjet5 Nätverken Avsökare med ett min-itx system och GNU/Linux för att få snabbare processorhastighet och lägga till mer nytta som dokument hantering och fillagring och server.Steg 1: Förbered dig på att hackaSkannern är byggt i 2...

Garage Monitor 3001

Problem: mitt garage är fristående från mitt hus, svårt att se om dörrarna är öppna från huset. Eller kanske jag är bråttom att åka till jobbet och glömde att stänga dörren.Lösning: Parallax BS2 baserade monitor. Jag kan kontrollera status för min ga...

Python coding for Minecraft

Detta Instructable visar hur du installerar och använder en mod som jag skrev som låter dig styra Minecraft med python skript. Ska jag fokusera på Windows, men OS X och Linux bör fungera lika bra.Python-skript kan skapa fina saker i världen, och det...

Pocket USB-nödsituation laddare

Jag kunnat göra en ficka nödsituation laddare kompatibel för smartphones och andra USB-kompatibla enheter ur rädda en elektronisk pcb från en gammal CD-spelare., sedan den berömda LM 7805 linjära regulatorn jag hittade var den viktigaste komponenten...

IoT: Ansluter RPi, Arduino och världen!

(Om du gillar detta Instructable, glöm inte att rösta på det (ovan: högra hörnet flaggan). det konkurrerar om SAKERNAS INTERNET och sensorer tävlingar. Tack så mycket! ;-)I detta projekt kommer vi program en RPi och en Arduino, arbeta tillsammans för...

Mobile Station prototyp för miljömässiga datafångst ("en Mars Rover emulator")

De allmänna Beskrivning/kontroller:Detta projekt har rätt för utvecklingen av en fullt fungerande mobil prototyp "Rover Station", ansvarig för miljö datafångst som temperatur, luftfuktighet och ljusstyrka. Tanken är i den framtida agregate andra...