>> [Musika jotzen]
ROBERT KRABEK: Kaixo, lagunok.
Nire izena Robert Krabek, eta da Irakasteko izango dut you guys
Web nola Labordeta batera Nokogiri, bertan Ruby liburutegi bat da,
eta Kimono, horrek Chrome luzapena da.
>> Beraz, lehenengo, ez da bat pare gauza duzula
egin ahal izango duzun izan da, agian, bada psets guztian, orain arte egiten
eta zure laneko Apur bat beteta.
Egia esan, ezin dugu besterik gabe, joan eta zuretzat laneko area berri bat sortu
besterik ez marka, proiektu berri bat.
Beraz, nahi ez baduzu jarraituko CS50 template ID lanean diharduten
Une hori baduzu, aske, eta besterik dezakezu
instalatu Nokogiri CFLAGS batera berdin altxor instalatu nokogiri.
Baina bestela erakutsi dut eman du berria nola ezarri.
Eta gero, hau da, funtsean, prestakuntza gurpilak gehiago askatuz.
Eta bazina bezala kodeketa ari zarela Sublime edo zerbait kodifikazioa besterik ez.
Beraz, filmea dugu baino gehiago bada.
>> Beraz, esan hau zure egungo CS 50 izena da.
Cloud9 Bakarrik joan daiteke hemen.
Zure Arbel joan zaitezke.
Ekarri behar ditu mahai fitxan.
Eta gero, ahal sakatu besterik ez duzu Hemen, Sortu Laneko berri bat.
Izena zure laneko area berria, agian, test, edo scraping.
Eta orduan klik fitxa pertsonalizatua honetan hemen, ordez CS50 templates fitxa.
Eta, ondoren, besterik joan dezakezu eta laneko area berri bat sortzeko.
>> Nik dagoeneko sortutako laneko area bat hemen.
Beraz, honetan egingo duzun lan.
Eta berri bat sortu baduzu Laneko area pertsonalizatua fitxa beraz,
idatzi ahal izango duzu altxor instalatu nokogiri, eta hori ez da hemen.
Ados, apur bat izoztutako da.
Baina idatzi dezakezu altxor instalatu nokogiri.
Eta hori guztia izan behar dela ez instalazioan da.
>> Esan dudan bezala, aurretik Oraindik bada Zure CS50 template ID ere lanean,
besterik CFLAGS idatzi behar duzu berdinen altxor instalatu nokogiri.
Eta nik dagoeneko instalatu da hemen, beraz, ez dut egin dela.
Baina dutenentzat honako batera, free hacerlo sentitzen.
>> Beraz, behin Hor dituzu Nokogiri laneko area edo liburutegian instalatuko,
Pixka bat emateko noa crash Ruby sintaxia ikastaro baten
Nokogiri Ruby liburutegi bat delako.
Beraz, oinarrizko batzuk jakin behar duzu Ruby Nokogiri lantzeko sintaxia.
Beraz, oinarrizko ezberdintasun batzuk zer erabiltzen zauden bertatik
agian Zuk lan egiten baduzu orain arte, besterik gabe, C eta PHP,
aldagai aldarrikatu duzu motaren gabe.
Zuk ez duzu puntuz erabili, bertan erliebe baten antzeko zerbait da.
Ez da parentesi artean dago gaur egun inguruan edo loops bitartean, adibidez.
Nahikoa duzu kode-bloke bat, eta ondoren, bukaeran jarri diozun amaieran.
Ez da, gainera, ez plus edo ken ken, besterik ez, beraz
Ezagutzen denean, hori you begiztak egiten ari,
besterik gehi berdin eta ken berdin.
Eta hash ordez, besteak, erabili dituzu behar, eta gero
edozein dela liburutegia nahian zure programa kargatu.
>> Ruby ez da konpilatu hizkuntza bat.
Beraz, hori erliebe bat da.
It gehiago PHP non antzekoa da Lengoaia interpretatu bat da.
Edozein Ruby script exekutatu dezakezu hori Ruby jarraian idatzi duzun
Zure gidoi edo programaren izenarekin.
Adierazgarri da Ruby programa bat dela, amaitzeko, besterik ez duzu .rb c ordez.
Eta badira aldakorra Ruby tamainako array,
hau da, super erosoa zaudenean scraping eta agian erantsi nahi
matrize sartu duzun scraped datuak.
Ez daukazu array berri bat malloc eta kopiatu array zaharrak, berriak array sartu.
Besterik dezakezu batera eransteko gezi bi seinale.
Eta badira karakteretan ez dago besterik gutun single kateak.
Beraz, hori apur bat errazagoa izan behar du.
>> Beraz, besterik ez dugu eman dituzu batzuk Oinarrizko Ruby sintaxia adibide.
Hortaz, hona ordez dela ikusi ahal izango duzu barra barra du, Ruby komentatzeko,
libra ikurra erabili besterik ez duzu.
Eta deklarazio aldakorra, zuk besterik mota aldagai berdinen
aldagai izan nahi duzuna.
Kateak izan daitezke.
Array, izan ditzakezu bertan populatu balioekin duzu.
jartzen eta grabatuak antzekoak dira.
Gure helburuetarako, etorri Alde bakarra da benetan
jartzen da, eta horretarako standak jartzen, besterik linea berri bat jarri du
Pertsonaia edozein izanda at ari zaren inprimatzeko.
>> Beraz txiki bat eman badugu manifestazio hemen,
hau with-- exekutatu ahal izango dugu ireki terminal berria.
Horiek guztiak ikusi ahal izango dituzu nire terminal daude fitxategiak.
Eta exekutatu dut besterik ez bada Ruby, ruby ​​intro.rb, hura
jartzen bost Kaixo Mather, Quincy, Carrier.
Adams.
Beraz, hori guztia ez da geratuko array.
Ikusleak: Robert, dezake zure letra apur bat handiagoa da?
ROBERT KRABEK: Bai.
Eta ezin dut zoom ezin delako Handiagotzeko terminal tipoak itxuraz.
>> Beraz, nola inprimatu behar dituzu zure terminal aldagai.
Ere erabili dezakezu kate baten barruan aldagaiak.
Beraz, duela gutxi PHP, baliteke ikasi dute
han kate interpolazio da.
Beraz, itxura bat hartu duzu bada, hemen, badut deklaratzeko hiru aldagai, izen, liburutegia,
eta hizkuntza, eta I jartzen, I kate bat idatzi, kaixo nire izena da.
Eta gero ordez PHP du kate interpolazio bertsio
zein itxura hau atsegin apur bat gehiago, libra kartel bat behar duzu, eta, ondoren,
kizkur giltza bat, eta, ondoren, aldakorreko izenean.
Eta hori nola litzaidake inprimatu, esan, edozein izanda ere aldagai izena da.
>> Eta gero ere egin ahal izango dituzu kateak kateatu.
Ruby egiten super plus zeinua erraza.
Kate bat besterik ez duzu ezkerreko plus aldakorra batean
edo beste kate plus katea.
Beraz, hau inprimatu badut, behar besterik esan Kaixo, nire izena Robert da.
Irakasteko izango dut Ruby nokogiri duzu.
>> Eta dezagun berretsi besterik ez dela da, hain zuzen Beraz Kasu ruby ​​intro.
Kaixo, nire izena Robert da.
Irakasteko izango dut Ruby nokogiri duzu.
>> Mugitzea, bestela, adierazpenak, Apur bat ezberdina da
zer duzu erabili liteke bertatik Zuk izan C. lanean ari bada
Zuk ez duzu parentesi behar.
Zuk ez duzu behar den kizkur giltza.
Eta horren ordez, beste ezertan bada, kateatu elsif bat da.
Beraz, hemen ere, I deklaratu bada x sortu Hemen, ikusten denez, x dago oraindik 5.
Beraz, bada, x 3 baino txikiagoa da, txiki bat sartuko da.
7, ertaina, beste handi baino gutxiago bada.
Beraz, 5 zenbakia medium bat da.
Eta, azkenean, kode-bloke honetan amaituko dut.
>> Hemen da nire begizta.
Eta sintaxia hau da, era berean, pixka bat eta beste.
0 bost besterik funtsean 0 array bat deklaratzen 5era.
Beraz, ez da array bost slot da.
Eta gero, hori ere zirrikitua bakoitzerako array, i Incrementing izango dut.
Beraz, hau 0 eta 5 edo 0 inprimatu behar 4ra.
Eta hau ertain inprimatu behar.
>> Eta besterik ez dut Blaze bidez.
Zaudete sarbidea izango Kode hori geroago izateko.
Beraz, you guys zuei hau martxan egon daitezke.
>> Beraz, hau da zure oinarrizko bitartean begizta da.
Hau bakarrik izango inprimatzeko j, 1 eta Incrementing hit dugu arte 5.
>> Super azkar Ruby kraskatzea ikastaro nola funtzio bat idazteko.
Horren ordez, esan, int faktorial zenbakia, aski def dugu.
Eta, funtsean Oraindik funtzioa definitu hemen.
Hau da izango da funtzioaren izena,
eta hau aldagai edozein dela duzu funtzioa sartu gainditu nahi.
Barruan, adierazpenak izan ditzakezu.
Itzul dezakezu.
Kasu honetan, ez gara errekurtsiboki bat definitzeko
abian jarritako faktore funtzioa.
Beraz, deitu besterik ez dugu funtzio Ruby hau atsegin du.
>> Beraz badut honetan, I definitu faktoriala deitu dezake, 3 gainditu,
eta 3 orduz kopurua aldakorra izango da ahal izango duten I funtzioa barruan erabili.
Eta to_s hau besterik ez da inflexio itzultzeko faktore balio-kate batean.
Bestela honetan egingo bota Akats baten oh dioela,
Ezin kate bat inprimatu gogoratzen duzun bezala delako,
jartzen jarri da kate hori delako faktore zenbaki bat itzuli du.
Beraz, hori bihur dezakegu besteak beste, atsegin kate bat.
Eta alderantziz, halaber, bihur ditzakezu to_i dituzten zenbaki oso bat kate bat.
>> Beraz, dena super simple egiteko, I komentatzeko bada besterik honek egindako, gorde
eta faktore funtzioa exekutatu.
Ikusi ahal izan behar dugu 3 faktore 6 dela.
Eta hori da, hain zuzen ere, egia da.
>> Beraz, zure kraskadura Ruby jakina da.
Eta orain badakiela Ruby, joan ahal izango dugu dituen oinarrizko Nokogiri den scraping gora behera.
Guztia egin behar duzu, funtsean, Ruby, liburutegietan eskatzen.
Eta gure helburuetarako dugun erabiliz egingo liburutegia OpenURI baita Nokogiri.
Eta gero, zer zuzen ere, egin behar duzu, eta bertan egingo Halako sintaxia eman duzu
da URL askoz ireki duzu egiten duzun bezala cURL eskaera bat, eta bertan C URL dago.
>> Beraz URL hartu duzu galdera webgunean.
Gorde duzu aldagai batean.
Eta gero, hori aurkitu ahal izango HTML etiketa berezia erabiliz aldakorra
.css komandoa.
Eta gero, irteera ahal duzun Nahi izanez lekuan eduki.
You base batean has daiteke.
Fitxategi batean dezakezu irteera, edo nahiz eta, besterik gabe, inprimatu pantailan.
>> Beraz, oinarrizko arraspa bat erakutsiko dugu.
Hauxe ikusiko duzu daukagun nokogiri eskatzen zuen, eskatzen open-uri.
Zure oinarrizko multzo bat ireki, dezagun dokumentu edo doc deitu,
berdinen Nokogiri :: HTML open, hau da, gurekin emandako OpenURI dituen komandoa
liburutegia.
Eta, bilatzen egingo dugu dutenentzat nor quad batean egon liteke bizi,
Hori Boston daude zerrendatuta bizikleten Boston Craigslist bike atalean
gune.
>> Beraz zara Ohituta bada cURL batera, besterik ez dut
erakusten duzun benetako azkar cURL zer egin beharko.
URL guztiek hartu behar diren banu Craigslist gunean, curl badut,
zabortegiak besterik ez da URL guztia the Craigslist bizikleta gunetik
nire terminal kalera.
Hori ez da bereziki erabilgarria ez dudalako
eskuz pasatzen nahi eta gauzaren bila nabil aurkitu.
Baina besterik ez, beraz ezin duzu Ikusten nago benetan duten I
Eskuineko kodea erabiliz, erreparatuz gero Craigslist URL bikes-- at
arrazoiren batengatik ez da aurkitu.
Begiratuz gero orri honetan eta begiratu URL duzu,
honen berdina izan behar du bidaltzea besterik ez dut cURL eskaera.
Eta, hain zuzen, hori da zer izateaz doc aldakorra jasotzen dira.
>> Beraz, noiz atzera egin duzu gure kodeari, dugu gero doc aldagai honen funtzionatzeko
.css erabiliz.
Beraz, esan guztiek lortu nahi nuen etiketa duten span.txt dira,
eta bat etiketa etiketa duten guztia barruan.
Eta zergatik nahi dugu Hau egiten baduzu, entzuten baduzu negar egin dut?
>> Aztertu ditugun Element bada, zuk ematen dio URL nola egituratuta dago matxura.
Joan I behera bitartez bada Hemen, ikusi ahal izango duzu
zer desberdin horietako bakoitza elementu adierazten du.
Beraz, agian sartu nahi dut bereziki, elementu hau.
Beraz Chrome developer naiz erabiliz Tresna Element ikuskatzeko.
Dut hemen ikusi ahal behera hori span baten barruan etiketa bat da
txt klase bat etiketatu.
>> Beraz, hau lortzen gure Lehenengo eragiketa bertan
doc.css span, bertan etiketa da dela I URL horretan guztian bila nabil.
Eta gero CSS bezala funtzionatzen .txt gertatzen denean besterik ez zaren CSS idazten
Zure HTML fitxategiak arabera Klase bat zehaztuz.
Beraz operadorea zehatz hori Zehaztu txt klase batera span etiketa bat.
Eta gero, espazio bat uzten badut, hau izango etiketa horren barruan joan
eta, ondoren, horren barruan etiketa bat aurkitzea.
>> Beraz, I jarri bada besterik honetarako terminalean, behar dut
izan funtsean dena ikusteko gai Klase txt span honen barruan dago.
Beraz go bat egingo dugu eman.
ruby craigslist-arraspa.
Eta hain zuzen ere, ematen digu hauen guztien hainbat zerrendak etiketa duten
Craigslist orrialdean daude.
>> Beraz, atzera joan gara, hau piztu ahal izango dugu Zerbait apur bat gehiago erabilgarria sartu.
Agian besterik estekak nahi dugu.
Etiketa honen barruan, halaber naizelako bidearen Hiperesteka dute
Orri hau duten doa.
Beraz, bada, kode hau hemen, zer egingo dudan .css ordez,
At_css joan ahal izango dut.
Eta hori izango da, besterik gabe zaitez lehena Gauza horiek guztiak elementurik.
Beraz, hori ez banintz, gehienez ere kode besterik aurrez frogatu dut,
ordez guztia itzultzeko Hori, besterik ez litzateke
horietako lehena itzultzeko.
Beraz, hori da at_css operadorea nola funtzionatzen du.
>> Beraz, gorde nahi dugu bidea lehen etiketa bat guztiak.
Eta delako bat emango digu a-- beraz ari gara oraindik .css erabili behar.
Baina hau ez delako ematen joan gaituena etiketa sorta oso bat,
sarbide ditugu lehen elementua.
Beraz, hau modu bat da hori egin ahal izango dituzu bereziki edozein elementu baduzu sartzeko
elementu multzo bat dute itzuliko da,
duzu ezer tratatu ezin delako hori .css multzo baten modura itzultzen, funtsean.
Eta gero ari gara sartzeko joan hipertestu erreferentzia honen ezaugarri.
>> Beraz, itxura bat hartu baduzu, bada Benetan itxi begiratu duzu hemen,
besterik funtsean baduzu URL bar begiratzeko
hau bidea dela zuk be scraping joan zaren.
Beraz, ez dugu exekutatu bada besterik honetan berriro, eta ziurtatu Nik gordeta dugu.
Etxean begira daiteke.
Hau benetan partidak ikustera link honekin.
>> Beraz, zergatik hau erabili nahi dugu?
To Labordeta nahi baduzu orrialdean eta egiten ditu
bezalako estekak orrialde bat Craigslist duela, zuk
ondoren, joan nahi izatea lotura horiek bakoitzaren sartu
eta, ondoren, Labordeta horren edukia, eta horrek
zehazki zer egin behar dugu aurrera.
>> Beraz, behin bidea duzu gisa aldakorra, jada ez dut benetan
, inprimatzeko zaintzeko.
Besterik behar dut aldagai bat, esate baterako.
Eta gero beste bat sartu ahal izango dut Orri modu berean I sartzeko
lehenik eta behin dok.
URL batera ezik, goazen kate interpolazio erabili
atsegin dut nolakoa zen Ruby lehenago eransteko
erro amaieran bidea.
>> Beraz, zer da hori egin egingo da hau da bidean jarri joan
Aurretik scraped dut eta orduan piztuko dituzten
Elementu berri bat sartu, nahi duzuna deitu it, first_listing adibidez.
Baina nik utziko dut elementua buruzko oraingoz,
hori zer erabiltzen dut hemen dagoelako.
>> Beraz, esan deskribapen lortu nahi nuen Craigslist lehen posting du.
Beraz, hemen behera joan nahi nuke.
Litzateke egin klik I Inspect Element berriro, hau deskribapena da delako.
Behera nuke hemen joan eta ikusi I aurkitu ahal bada nola gerta daiteke
Bilatu etiketa hau berezia egiteko gai.
Eta, kasu honetan, egiten du ID bat, eta horrek eramango gaitu
Gure hurrengo bilatzeko bide emateko etiketa, bertan hashtag batekin.
>> Beraz, eskolak emateko, ahal duzun dot operadorea erabili.
Beraz .txt dago txt klase bat zehaztuz, hasha berriz ID bat zehazten du.
Beraz, kasu honetan, etiketa da atalean, eta identifikazioa eman postingbody da.
>> Beraz, hau doa eta aurkitzen lehen aukera du garelako
at_css-- hau desagertu den guztiaren arabera eta lehen elementua bilatzen duela
ateratzen ataleko etiketarekin eta postingbody NAN.
Eta gero, testu elementu sartu ahal izango duzu gauza horren .text itzuli baitzen.
Eta gero, gordetzeko aukera ematen du deskribapena dagoela.
>> Beraz, gaur egun bat dugula Deskripzio aldakorra,
egin ahal izango dugu, agian, esan, artxibatzen I / O. Beraz, fitxategi I / O Ruby
oso antzekoa da I artxibatzen / O C non fitxategi bat ireki dugu.
Agian ez gara dezaten.
Eta orduan fitxategi hori itxi egingo dugu.
>> Beraz, hemen, zu besterik izendatzen dugun artxibatzen, aldagai batzuk arbitrarioak.
Era berean, ezin dugu besterik ez dute jarri hau hemen.
Hori ari gara gordetzeko aldagai bat behar dugu irekita File.open bezala.
Eta fitxategi honetarako ari gara idazten, beraz, ireki dugu w operadorea batera.
Eta orduan katea jarri dugu sartu .puts operadorea artxibatzen.
Eta gero, aldagai jarri dugun to barruan fitxategian idatzi nahi.
Eta gero, besterik fitxategia itxi egiten dugu.
>> Beraz, aurrera joan ginen, eta hau exekutatu, hau dokumentu bat eginen
bertan description.txt batekin egingo deskribapen hori hartzen dute egun horietan.
Beraz, bada it exekutatu dut ez.
Honez duen testu fitxategi bat ekoiztu du, zorionez, gauza bera.
Beraz, ez da mezu berri bat izan liteke Hori etorri nintzen Hizketan aritu bitartean.
Eta hain zuzen ere, badirudi izan bezala.
Beraz bazoaz bike klasiko hau dugu, 1962 1966 to, hori dirudi etortzeko.
Eta ez duzu joan.
>> Beraz, oinarrizko scraping funtzionalitatea.
Ezin ordez daukagu besterik fitxategi hau idazten,
Gauzak gehitu ahal izango dugu array bat.
Beraz, hiru multzo dute deklaratzen badut, izenburua, prezioa, eta deskribapena.
Eta ari gara dok elementuan orain dabilela.
Bidez joan ahal izango dugu, eta span.txt guztiak aurkitu.
Eta gogoratu, hau array bat itzultzen bertan topatzen diren elementu guztiak.
Eta gero, Ruby, bakarrik erabili ahal izango duzu bakoitzak bere elementu bakoitza batetik bestera joateko
array.
Eta gero, elementu bakoitzerako, Besterik ez dut deitu joan
lotura bat, hori delako funtsean zer den.
>> Beraz link.css dot a.hdrlnk bakoitzak jarri badut, hau da, benetan link joan
eta lotura duten beste barruan aurkitzeko HTML elementu eta dagokion klasea.
Beraz, bada, gogoratzen dugu zer Hau izan zen, span.txt du,
utzi besterik joan me back see- ditzakezu span.txt barruan benetako quick--
beste klaseak asko izan dugu.
Beraz span.txt barruan, bila ari gara Klase hdrlnk etiketa bat lortu du.
Hargatik aurkitu besterik ez dit hori you guys benetako azkar.
>> Beraz, hemen ikusi ahal izango duzu, hau da etiketa bat Klase txt span barruan dago
Klase hdrlnk ditu.
Eta hori da, hain zuzen ere, zer lortzen saiatzen ari gara.
>> Beraz, gaur egun guztiak gordetzeko saiatzen ari gara izenburua barruan lotura horiek.
Eta gero ari gara argitaratzeko lotura horiek bakoitzak egindako.
Ez, barkatu.
Inprimatu goaz horietako bakoitzaren prezioa.
Hargatik exekutatu hau benetan azkar eta ikusi zer egiten.
>> Beraz, hori besterik ez da, funtsean joan loturen bitartez
aldi berean, ikusia etiketa galdera, eta orduan atera prezioan.
Eta hori egin duten ondoren delako izenburuan guztia duzu,
Oraintxe gordeta titulua ez dugu.
Oraintxe gordeta dugu lotura array izenburua barruan.
Eta hau begizta operazio batean, non ordez a.hdrlnk joan beharrean,
span.price bat bilatzen ari gara.
Beraz, besterik ezin dut benetan azkar aurkitu bada prezioa, elementu ikuskatu baduzu,
Ikusiko duzu span bat dela prezioa klase batera.
Eta hori da, funtsean, nola Oraindik prezioa iritsi ginen.
>> Beraz, hori da benetan scraping oinarrizko kasuan.
Hori nola lortu duzu orri batean elementuen
Hori, esan, dagoeneko ezagutzen duzun URLa.
>> Beraz, lortu nahi badugu gutxi sakonera,
orrietan barruko orriak Labordeta dezakegu.
Eta adibide honetan, ez dut izan CSV fitxategi batera irteera.
Beraz, eskatzen dut csv eman hemen Ruby ez delako, bertan,
funtzionaltasuna dute irteera besterik CSV fitxategiak.
Beraz, hori super erraza da.
Goazen besterik hurrengo.
Fitxategia I / O estali dugu. Beraz, hau nola da C. ere antzekoa da
Eta mugitu gara Kimono aurretik, Besterik ez dut erakutsi dut benetan azkar nola duzu
toki barruan guneak Labordeta.
>> Beraz ikasi dagoeneko zenbat dugu arrayak deklaratzeko Ruby.
Beraz, ez dut besterik ez da geratuko arrayak arbitrarioa mordo
hori gordetzeko egingo dut datuen barruan.
doc modu berean jarduten da aurreko fitxategia urtean egin zuten bezala.
Goaz, aurkitzeko span.txt en bakoitzari.
Dagoeneko badakigu hori.
Hori edukiontzi da bertan bakoitzaren barruan Lotura nahi dugun datu guztiak ditu.
>> Hortaz, hona hemen zer egiten ari garen bakoitzeko span class txt esteka, goaz
eta etiketa bat aurkitzeko ari gara, duten lehenengo elementua aurkitzeko.
Gogoratu, .css array bat itzultzen, beraz, ezin duzu besterik ez da gisa sartzeko da.
Lehen elementua aurkitu behar gara.
Bat array bat bada ere elementua, sintaxia hau erabili ahal izango duzu,
eta, ondoren, tira href atributu.
>> Beraz, hau lehenago egin dugu.
Beraz, hau ezaguna begiratu behar.
Eta beraz, orain array bat dugu bideak izeneko gure loturak guztien
guk erabili nahi du.
Beraz, array hau izan badugu hori erabili nahi dugu bide,
gero guk bakoitzeko elementu bat sor dezakezu orri horietako denean orria zabalduko dugu.
Beraz gisa ere ikusi dugu sintaxia aurretik, non
kate interpolazio egiten bidearekin Hemen, beraz, sintaxia besterik bidea da.
Eta hau aipa nitzake aldakorreko edozein arbitrarioak izena.
>> Hau garrantzitsua da.
Hau array da egingo duzun izan elementu bakoitzean sartzeko.
Baina orduan bidea esan bideak duzun, honen bideak elementu bakoitzarentzat esan,
bidea deitu, eta erabiltzen duten.
Hau da, funtsean, zuk bezala egiten loop eta i int erabiltzen dituzu.
Beraz, bidea bezala tratatzeko dezakezu aldagai horren Incrementing.
>> Eta gero, horietako bakoitzerako, lotura horiek bakoitzaren sartu.
Egiten ari gara, gordetzeko elementua orri batean dagoelako, beraz orri berri bat aldi bakoitzean sortzen ari gara
bertan sartzeko dugu.
Eta gero, orri berri horren barruan, aurkitu span.postingtitletext, span.price,
eta ondoren, atal # postingbody.
Dagoeneko estalita dugu atal # postingbody Atzera begiratu deskribapen dugu.
>> Beraz Craigslist post ikusten joan ahal izango dugu, besterik ez duzu izenburua begiratuz gero,
Hemen ikusten duzun arte, span postingtitletext.
Eta horregatik ez da.
Eta gero, prezioa, ahal duzun Bera eskuratzeko span prezioa klase batera.
>> Beraz, agian, halaber, guk URL gorde nahi.
Beraz, besterik ez dugu exekutatu honetan Berriro, gorde array batean,
bilatzen ari zaren bada delako Craigslist, zaren
seguruenik modu bat nahi du, bada interesatzen zaizun zerbait ikusten duzu,
go gune horretan itzuli.
Beraz, nahi besterik ez duzu gorde erreferentziak mesedetan for URL.
>> Hau da, besterik gabe, funtsean begizta for sintaxia beste.
Baina oraingoz ez dut paths.each ordez indizea bideak ere bidea da.
Eta sintaxia hau Ruby da For bidea da up zer egin dugu hemen,
Elementu bakoitzaren aldagai bat deklaratzen.
Eta indize bezala jokatzen du C i etorri begiztak.
Beraz, gogora ditzakezula indizean zer den.
>> Beraz, hemen baino ez da komenigarria gauza txiki
denean arraspa exekutatzen ari zara.
Zuk ehunka orrialde scraping bazabiltza, Ziur ari dela ez da zintzilik egiteko,
Irteerako izango da, Orri hau dut sartzean,
eta ziur dagoela egiteko ez da oraindik ere jarraitzen du.
Baina gure helburuetarako, zeren ez da ehun bat elementu,
Horietako hiru sartzeko noa ez dugu, beraz, denbora agortua hemen.
>> Baina iritsi aurretik hori dugu, besterik ez naiz Benetan azkarra erakusteko joan,
Den izenburua irteera egingo dut, prezioa, azalpena eta URL
Hori scraped Nik loturak bakoitzeko.
Eta gero, hau da, besterik gabe, CSV liburutegian sintaxia.
CSV bat irekitzean.
Hau da, zer deitu dut joan.
Ireki idazketa egin.
Eta gero CSV fitxategia izango dela sartu guztia idatz zaren.
Hau besterik behatu txeke bat da izan abian da jakin me.
Eta hau da nire behatu check Hori bai burutu zen jakiteko.
Beraz izenburua jarri dut ilara batean sartu CSV, prezioa, URL, deskribapena,
guztiak CSV errenkaden sartu.
>> Beraz, joan ginen eta bada run da gaur egun hau eta besterik ez dut
ziurtatu dudala salbatu it Nik ordez ren besterik irteera terminalera,
CSV bat eduki behar dugu Fitxategi horren ekoiztu.
Hemen ikusi ahal CSV dugu Fitxategi horren sortuak direla.
Hau da irteera da Scape duten ran dut.
Hemen ikusten duzun bezala, accessing 0 orria, 1, 2, 3.
Hauek izenburuak dira, prezioak, deskribapenak.
Eta begiratzen dugu CSV honetan bada sortzen dugun fitxategia,
ikusi ahal izango duzu hemen bere Outputted.
Hau ez da, Excel, beraz, ez da lerro eta zutabe formatuan jaso.
Baina imajinatu nola formateatuta liteke.
>> CSV komaz bereizitako balioak nabarmentzen.
Beraz, ezin duzu imajinatu honek ilara bat izan liteke.
Eta koma bakoitzak litzateke Aparteko zutabe bat adierazten dute.
Just caution-- hitz bakar bat Batzuetan Oraindik
Gauzak scraping komak asko batekin.
Beraz, zuk irteera bazabiltza CSV fitxategi bat da,
Ez irteera zitekeen du modu uste duzu.
>> Beraz, hori da, funtsean, guztiek Han oinarrizko HTML scraping behar da
Nokogiri duten orriak.
>> Beraz, internet izakia berritzailea da, etorri izan gisa sortu
gehiago automatiko eta GUI batera Bertsio, nahiz eta ez da segurua
hainbat webgune scraping bertsioa.
Eta gure helburuetarako Erakutsiz igo behar dut
Chrome luzapena Kimono deitzen.
Eta hori guztia egin behar duzun da nabigatuz to Labordeta nahi duzun orrialdera.
Ezkutatu interes-eremu batean duzu.
Eremuak kalibratu, Automatikoki izango delako
antzemateko zer pentsatzen egon scraping nahi duzu,
eta, ondoren, API bat sortu besterik ez duzu.
>> Beraz on frogatu bagenitu den Craigslist, egia esan, ez litzateke lan.
Eta hau da, zer ari nintzen atzera egingo Ez da sendo gisa ari buruz esaten.
Arazoak API sortzen ditu.
Baina manifestazio gisa zer egingo lukeen hura,
Chrome luzapena instalatu baduzu, egiten duzun guztia egin klik.
Orrialde Kimonofies ditu, eta ondoren, Ezkutatu script nahi duzun gauza on.
>> Beraz, gainean klik egin beharko banu hori, nabarmendu litzateke
zer pentsatzen nahi dut horri duten off scraping.
Beraz, agian deitu nion zerrendak honetan.
Hau da, zenbat gauza aukeratu dut.
Eta besterik ez dut, baieztatu daiteke edo batzuk ukatzeko Beste iradoki zerrendak
eskuratu gehitzeko zer scraped egingo da.
>> Beraz, orain ikusi ahal izango dugu, ez da Ehun elementu hautatu.
Beste esparru izan nahi dut bada dudala halaber, hau da, honekin lotutako Labordeta,
esan prezioa Labordeta nahi dut baita, ondoren, gauza bera egin ahal izango dut.
>> Beraz, hona hemen nola egin erakustaldia askoz gutxiago sendoa, orain delako
Hirian gogoratuz ordez prezioaren besterik ez da egin nahi dut.
Eta, orain, nik jaso zuen 200 gauzak.
Atzera egin dezakezu eta ezabatu.
Saiatu zaitezke.
Baina bermerik.
Hau da, nola honetan lan egiten du batzuetan.
Hemen ikusten duzun bezala, orain 96 dio eman ezazu hemen.
Honez bildu loturak gehiena , Labordeta nahi duzula, baina ez
nahitaez guztiak.
>> Beste Kimono of tresna erabilgarria izan arren da Ezaugarriak aurreratua dezakezu joan
Hemen, joan aurreratua den, eta erakutsiko dizu
berezia matxura Bide HTML sartzeko
to Labordeta nahi duzun etiketa.
Beraz, zerrendak, begiratuz gero hemen, sartzen zarenean div p span span bat izanez gero,
Egia esan, ezin duzu erabili hau zure Nokogiri kodea ere,
non span.txt genuen aurretik zerrendak bakoitzaren sartzeko.
Besterik ez dut testua nahi baduzu Zerrendak barruan,
Ahal nuen sarrerako div espazio p Espazio span espazioa span espazio bat,
eta gauza bera lortzen litzateke.
Eta horiek egiteko interesa duten adierazpen erregularrak erabiliz,
halaber, eman duzu erregularra gertatzen da adierazpen sarrerari kate moduko
gauzak aurkitzeko aurkitzeko saiatzen ari zaren.
>> Beraz, ez dago beste cool Ezaugarri da Kimono non Paginate dezakezu,
Hau ez da bakarrik ezin dut Labordeta Orri honen emaitzak,
Ezin dut pixka honetan klik egin botoia, Orrikapen,
botoia zehaztu lukeen hartu me hurrengo orria,
eta, gero, aski izango da badakiela Hurrengo orrira da, batetik bestera joateko dezakegu,
eta, ondoren, Labordeta the-- luze bezain guztia noski formatua bera izango duenez
lotura horiek guztiak Scape baita.
>> Beraz Kimono ez duelako nahi den Craigslist batera lan egin, zer egin dugu
da Kimonofied Nik Harvard Crimson du.
Bota dut out moduko batzuk goi Artikulu nabarmen, berretsi hemen.
Esan horiek guztiak.
API hau konpilatu dut you garaiari aurre egiteko.
Baina bestela, zer egingo duzu zuk besterik ez litzateke Listo.
Zure API Xehetasunak Sartu.
Ezarri bai arakatzea automatikoki edo eskuzko.
Beraz eguneratu ahal izango duzu zure Datu 15 minututik behin,
astero, egunero, nahi duzuna.
Izena zure API.
Sortu API.
Zure prestazioa, sortu dut Crimson Azalean API dagoeneko.
>> Beraz, sortu besterik ez duzu bat Kimono buruzko kontua, eta hura
Zure APIak guztiak gordeko dituzu.
Beraz, funtsean, hori da dena zure larri ibiliko ezberdinak bereizi.
>> Hortaz, hona begiratzen badugu, hau da, iritziak bildu dut loturak.
Hauek nabarmendu hori bildu dut loturak.
Eta horiek dira gehien irakurri du hori bildu dut loturak
berrienak API scape honetatik.
>> Beraz, zuk hemen ikusi ahal bada, hauek nabarmendu beharko litzateke,
horien iritziak izango litzateke, Adibide honetan bertan,
Guztiak ditudan konbinatuak horiek bilduma bat sartu.
Baina zuk play inguruan besterik ez bada, harekin Pixka bat, banatu dezakezu eman
eta zatitzea ordea luze jo nahi dituzu
zertxobait desberdinak formatua bezala.
>> Just inguruan play honekin, arakatzea eratu, downsides bat
da zuk bakarrik arakatu ireki 25 orrialde aldi berean.
Hori mugatuz faktore bat.
Baina hemen, ezarri baduzu Eskuliburu arakatzea den, hau
da, nola esan dezakezu Zure datuak eguneratu.
Eta hemen zure arakatze-historia ikusi ahal izango duzu Denetik arakatzen duzunean.
Eta zuk mutil atzera egin ahal izango du, lehenengo saioa hasi, play inguruan modu ezberdinak guztiekin
Alda eta zure datuak erabili ahal izango duzu.
>> Kimono ezar daiteke izateko loturetan loturak Labordeta.
Eta horrela egin nahi duzun lehenbiziko arabera loturen zerrenda bat astintzen,
eta, ondoren, API hori egiteko erabili ahal salto off puntu API beste bat
scripta sortu beharko duzu.
Baina hori baino konplexuagoa zer ari gara gaur sartuko.
>> Beraz, hori Kimono da.
Egingo pros buruz hitz egiten dugu eta Nokogiri eta Kimono txarrez.
>> Nokogiri, benetan azkarra da.
Oso erraza da probatu da.
Besterik ezin duzu ezer jartzen den kontsola, konfiguratzeko erraza.
Zehazki zer erabaki dezakezu Labordeta eta denda nahi duzun.
Ez daude orrialde mugak.
Benetan den bezalakoa Labordeta erabiltzen dut 1800 Hegoafrikako eskola webguneak
praktika bat dagoela nuen postak.
>> Beraz, hori da posible, praktika onenak arren zatitu gidoi izango litzateke.
Huts egiten du, bada, ondoren, delako ez duzu ezer lortuko.
Baina ez baduzu, ehun bat, agian, garai batean 200 orrialde,
orduan aukera izan dezazun gutxienez dela zatika lortzean, batez ere,
internet txarra badaukazu.
>> Zoritxarrez da bakarrik Labordeta HTML.
Beraz baldin baduzu automatikoki kargatzen pages--
eta erakutsi dut adibide bat Kayak segundo bat bezala
Nokogiri zoritxarrez Ezin Labordeta hori.
>> Baina Kimono ere erraza da erabiltzeko.
Ikusi duzun bezala, funtsean da puntu bat eta klik.
Javascript Labordeta daiteke.
Tamalez, gehienez da zenbat orri Labordeta dezakezu.
Batzuetan pixka bat da gogor konfiguratzeko.
Nahastu egingo du.
Baina zalantzarik gabe, Zerbait kontuan hartu beharreko
Ez duzu bat izan nahi baduzu mantengarriak Labordeta super sendoa.
Lortu besterik nahi ez baduzu Dena orri baten off azkar,
Orduz Kimono da benetan Erabiliko tresna ona.
Eta, aipatu dudan bezala, ez da Kimono ezaugarririk aurreratuena
Hori erakusten du nola HTML berezia sartzeko
elementu, hau da, super erabilgarria are ari zaren Nokogiri lan egiten bada.
>> Beraz, bada, joan Kayak Gunean dugu topo, Adibidez, ikusi ahal izango duzu, ez is--
edo, agian, ezin duzu ikusi.
Baina erakutsi dut URL bada Kayak egiteko, Hau ez litzateke, besterik gabe, URL iturriaren da.
Hau da, URL izanik, aldez aurretik edozein dela Javascript gidoiak aldatutakoa
du direla gertatzen.
Eta nik beste itxura joan elementua ikuskatzeko.
>> Beraz, bidez joan behar duzu, eta nahi izanez gero datoz bat sortu Inspect Element
iturburu-kodea, kode, da benetan ezberdina izango da.
Eta hori da, funtsean, zergatik Nokogiri Ezin Labordeta automatikoki kargatzen guneak.
Nokogiri dagoelako URL iturriaren astintzen,
Kimono da benetan, berriz, Zer Oraindik funtsean scraping
Aukeratu Element ere ikusten.
>> Beraz, joan I bidez eta badut saiatu eta Kimonofy Kayak,
Benetan dut joan bidez eta hautatu prezioan.
Eta pixka bat zailagoa da, eta kasu honetan, ez da
Egia esan, prezio hori ikusita Horietaz ezberdinak bezala.
Beraz, berriz configure-- dezakezu edo hau da, ez ziren automatikoki kargatzen bada,
Nokogiri konfiguratzeko ahal duzu horiek guztiak lortzeko.
>> Formatua apur bat delako zerrenda honetan ezberdinak
Da aldean gainerako arauen Horietako bat, eta hemen ikusi ahal izango duzu
egia esan, desagertu eta Hautatutako hegaldi prezioak du.
Agian hautatu nahi dut hegaldiaren ordua baita.
Eta bidez joan ahal izango dut eta Sort konfiguratzea.
Ez dut nahi hori.
Besterik hurrengo hegaldia ko denbora egin nahi dut.
Eta gero, horietako pare baten ondoren igaro, irudi daukala.
Beraz Kimono en nahiko azkarrak.
Besterik ez da, ez da nahiko sendoa da.
>> Badira beste batzuk alternatibak hori erabili ahal izango duzu.
Eta hemen erakutsi dut haiekin.
Zara gehiago eroso bada Python, Ruby ordez, agian,
Han liburutegia bat da Beautiful zopa izeneko.
Hori erabili ahal izango duzu.
Oso Nokogiri antzekoa da.
Ezaugarri batzuk gehiago ditu.
HTML etiketa bat aurkitu ahal izango duzu, eta ondoren, mugitu gora edo mugitzeko aldeetara.
>> Ez da, PyQt.
Hau benetan Labordeta dinamikoa guneak, ordenatzeko delako
izan nahi duten WebKit da ez benetan gabe nabigatzailean a
nabigatzaileak izateaz.
Beraz, dena itxarotea litzateke Javascript lehen kargatu, eta, ondoren,
joan eta saiatu eta Labordeta gunean.
>> Ruby jarraitu nahi baduzu, Maila Nokogiri tik gora joan daiteke.
Capybara erabil ditzakezu Poltergeist wrapper bat.
Eta hau, benetan funtsean gauza bera
hau da PyQt, gisa WebKit bat da.
Itxaroten jartzen du erabiltzaileen eskura Javascript lehen kargatu.
Inguruan fiddle baduzu harekin nahikoa, daiteke, nahiz eta lortu nahi gauzak klikatu.
>> Beraz, ez dago lotura bat egin behar izanez gero Ez da href klasiko bat non
bidea erraz, eta JavaScript gauza batzuk detektatzen da
Klik batean, benetan egin dezakezu.
Gehiago popular liburutegian Erabiltzaile bat simulatu
Ikusteko Javascript-a da, hau da PhantomJS da.
Hau, jakina, Labordeta dinamikoa guneak hau da, funtsean, delako
Chrome itxurak Erabiltzaile interfazea gabe.
>> Eta gero, jakina da gehien sendoa, baina aukera geldoena,
Selenium nabigatzailean automatizazio bat da.
Eta zoritxarrez, Oraindik ez duzu behar izango da
Horretarako zure CS50 IDE barruan gai.
Funtsean zer delako du da bota ezazu zure Chrome,
Firefox, edozein dela nabigatzailea Erabili nahi duzula,
eta pistak da, agian, zure saguaren mugimendua, idazten duzuna,
eta antzeko zerbait Prozesu hau automatizatzen.
Beraz moduko bat garatu zen Webgune automatizazio azterketa tresna.
Hala ere, jende asko erabili Selenium webguneak Labordeta
Besterik duten dute bat Zailtasun asko scraping
beste, tresnak azkarrago horietako batzuk.
>> Beraz, ez dut lortu web scraping egiteko guztiak.
Ondo pasa.
>> Ikusleak: Galdera.
>> ROBERT KRABEK: Bai.
>> Ikusleak: Ba al dago hash mekanismo bat Webgunean beraz, funtsean, ezin duzu
pasa geroago.
ROBERT KRABEK: Bai.
Beraz jarri dugu, gure Adibidez, biak,
Webgune osoa jarri dugu dok sartu.
Eta, beraz, ezin duzu benetan bakarrik hartu du doc aldakorra eta idazteko fitxategia batera.
Beraz, nahi dut, eta ahal nuen idatzi ezazu HTML formatuan,
eta gero ordez erabiliz OpenURI eta cURL eskaera bat,
ondoren, besterik gabe ezin ireki dut doc HTML eta gero bilatu horretarako.
>> Ikusleak: Baina ezin duzu zaintzeko online esperientzia moduko
offline egiten duzun bitartean.
Adibidez. zaudenean hainbat orduz hegan,
Funtsean artxiboa nahi dut Webgune osoan. [INAUDIBLE]
>> ROBERT KRABEK: Bai, hori da exactly-- beraz, literalki zer da hori egiten
da gertatzen dena hartzen da Hori URL honetan izango litzateke.
Beraz cURL zuena dugu, bada, da HTML hori guztia hartu,
eta nik gordetzeko da the Doc aldakorreko barruan.
Beraz, ondoren egin ahal izango duzuna Doc egin nahi duzun.
Irteera duen fitxategi bat ahal duzun.
Ikusleak: Baina ez da lotuta sortu.
Ez da dinamikoa.
Ez da errekurtsiboak, ezta?
Ba al dakizue zer esan nahi dut?
Funtsean moduko egiaztapen bat saiatzen ari naiz nire disko gogorrean webgune osoan
beraz, ezin izan dut, funtsean, gauza bera egin Hainbat ordu internet gabe.
>> ROBERT KRABEK: Eskuin.
I had-- Beraz, bada, beraz, non dago nire fitxategia I / O?
Beraz, hau fitxategia I / O da. Beraz, esan beharrean Hori, craigslist.html hau deitu nion.
Hori zabalduko nuke.
Nuke jartzen dok sartu.
Fitxategia itxi dut.
Eta gero, besterik ez delako CS50 IDE hodeia da, hori dena delakoa.
I hemen joan daiteke.
Fitxategia deskargatu ahal izango dut.
Eta gero nire disko gogorrean izango litzateke.
Beraz, egin dezakezu horrela.
Edo Oraindik etxean bada, ez erabiliz CS50 IDE, Sublime edo antzeko zerbait,
hau da, nahiz eta errazagoa da, zeren hau da guztien eskura lokalean,
Ez Internetera lotuta.
>> Ikusleak: ikusten dut.
Hau bereziki arazo bat da.
Ahal dezazun errekurtsiboki egiten da, beraz, geruzen joan gauza mota sakona?
>> ROBERT KRABEK: karpetak deskargatu ahal izango dut baita, hori bada, zer galdetzen ari zaren.
IKUSLEEN: Bai.
>> ROBERT KRABEK: Cool.