1 00:00:00,000 --> 00:00:03,234 >> [MUSIC PLAYING] 2 00:00:03,234 --> 00:00:05,275 3 00:00:05,275 --> 00:00:06,400 ROBERT KRABEK: Salam, uşaqlar. 4 00:00:06,400 --> 00:00:09,980 My name Robert Krabek, və Mən sizə uşaqlar tədris olunacaq 5 00:00:09,980 --> 00:00:15,470 ilə web qaşımaq üçün necə Bir Ruby kitabxana Nokogiri, 6 00:00:15,470 --> 00:00:17,566 və Chrome uzantısıdır Kimono. 7 00:00:17,566 --> 00:00:20,940 8 00:00:20,940 --> 00:00:25,010 >> Belə ki, ilk var bir neçə şey ki, siz 9 00:00:25,010 --> 00:00:28,790 Siz olduğunuz bəlkə edə bilərsiniz bu günə qədər bütün psets bunu 10 00:00:28,790 --> 00:00:31,170 və iş deyil bir az tam əldə. 11 00:00:31,170 --> 00:00:37,060 Biz, həqiqətən, yalnız getmək və bilərsiniz sizin üçün yeni iş yaratmaq 12 00:00:37,060 --> 00:00:41,220 yalnız bir yeni layihə etmək. 13 00:00:41,220 --> 00:00:46,160 Davam etmək istəyirsiniz Belə ki CS50 şablon ID iş 14 00:00:46,160 --> 00:00:49,080 Hal-hazırda var ki, çekinmeyin, və yalnız bilərsiniz 15 00:00:49,080 --> 00:00:54,700 CFLAGS ilə Nokogiri yüklemek bərabərdir gem nokogiri bərpa edin. 16 00:00:54,700 --> 00:00:56,930 Amma əks halda mən sizə göstərmək lazımdır yeni bir qurmaq necə. 17 00:00:56,930 --> 00:01:01,210 Və sonra bu mahiyyətcə daha təlim təkərlər düşmə. 18 00:01:01,210 --> 00:01:07,120 Siz sanki Və kodlaşdırma etdiyiniz yalnız Sublime və ya bir şey kodlaşdırma. 19 00:01:07,120 --> 00:01:12,365 Biz artıq keçmək əgər. 20 00:01:12,365 --> 00:01:14,930 21 00:01:14,930 --> 00:01:18,690 >> Belə ki, bu cari CS 50 ID deyirlər. 22 00:01:18,690 --> 00:01:21,490 Siz yalnız burada Cloud9 bilərsiniz. 23 00:01:21,490 --> 00:01:22,725 Siz tablosuna bilərsiniz. 24 00:01:22,725 --> 00:01:26,720 25 00:01:26,720 --> 00:01:29,950 Bu İş nişanı gətirmək lazımdır. 26 00:01:29,950 --> 00:01:32,980 Və sonra yalnız vurun Burada Yeni İş yaradın. 27 00:01:32,980 --> 00:01:37,600 Yeni iş Adı, bəlkə test, və ya qaşınma. 28 00:01:37,600 --> 00:01:42,700 Və sonra burada bu xüsusi sekmesini basın əvəzinə CS50 şablonları nişanı. 29 00:01:42,700 --> 00:01:45,155 Və sonra yalnız getmək bilər və yeni iş yaradır. 30 00:01:45,155 --> 00:01:48,280 >> Mən artıq burada bir iş yaratdıq. 31 00:01:48,280 --> 00:01:50,640 Beləliklə, biz bu iş olacaq. 32 00:01:50,640 --> 00:01:55,380 Və bir yeni yaradılmış əgər iş Custom nişanı ilə, belə ki, 33 00:01:55,380 --> 00:02:04,560 Yalnız gem quraşdıra yazın burada niyyətində deyil nokogiri. 34 00:02:04,560 --> 00:02:06,230 OK, bir az dondurulmuş var. 35 00:02:06,230 --> 00:02:08,979 Amma nokogiri quraşdıra gem edəbilərsiniz. 36 00:02:08,979 --> 00:02:15,970 Və bütün olmalıdır ki, quraşdırma var. 37 00:02:15,970 --> 00:02:20,590 >> Dediyim kimi, əvvəl hələ əgər Sizin CS50 şablon ID çalışan, 38 00:02:20,590 --> 00:02:30,270 Yalnız CFLAGS yazın lazımdır gem nokogiri bərpa bərabərdir. 39 00:02:30,270 --> 00:02:33,130 Və mən artıq yükledikten Burada mən bunu deyil. 40 00:02:33,130 --> 00:02:38,500 Lakin həmin üçün aşağıdakı yanaşı, bunu çekinmeyin. 41 00:02:38,500 --> 00:02:46,000 >> Siz Nokogiri var bir dəfə belə iş və ya kitabxana yüklü, 42 00:02:46,000 --> 00:02:49,500 Mən sizə bir az vermək gedirəm Ruby sintaksis bir qəza Əlbəttə 43 00:02:49,500 --> 00:02:53,380 Nokogiri bir Ruby kitabxana çünki. 44 00:02:53,380 --> 00:03:03,710 Belə ki, bəzi əsas bilmək lazımdır Nokogiri ilə iş üçün Ruby syntax. 45 00:03:03,710 --> 00:03:08,750 Belə ki, bəzi əsas fərqlər siz istifadə etdiyiniz nə 46 00:03:08,750 --> 00:03:13,370 Bəlkə iş etdik əgər Bu günə qədər yalnız C və PHP, 47 00:03:13,370 --> 00:03:16,010 Siz heç bir növü ilə dəyişənlərin elan. 48 00:03:16,010 --> 00:03:19,720 Siz semicolons istifadə etməyin, olan relyef növüdür. 49 00:03:19,720 --> 00:03:25,480 İndi ətrafında parantez var və ya loops isə, misal üçün. 50 00:03:25,480 --> 00:03:29,460 Siz yalnız kodu bir blok var, və sonra ki, sonunda son qoydu. 51 00:03:29,460 --> 00:03:32,380 Heç bir plus var plus və ya minus minus, yalnız belə 52 00:03:32,380 --> 00:03:36,180 zaman bilirik ki, Siz loops üçün edirik, 53 00:03:36,180 --> 00:03:38,620 yalnız plus bərabər və minus bərabərdir. 54 00:03:38,620 --> 00:03:43,310 Əvəzinə hash daxildir Əgər tələb istifadə və lazımdır 55 00:03:43,310 --> 00:03:47,755 çalışır nə Kitabxana Sizin proqram yüklemek üçün. 56 00:03:47,755 --> 00:03:51,610 57 00:03:51,610 --> 00:03:53,430 >> Ruby bir tərtib dili deyil. 58 00:03:53,430 --> 00:03:55,550 Belə ki, bir relyef var. 59 00:03:55,550 --> 00:03:59,350 Bu PHP olduğu üçün daha çox oxşar Bu bir şərh dil var. 60 00:03:59,350 --> 00:04:03,570 Siz hər hansı bir Ruby script çalıştırabilirsiniz ki, Ruby izlədi yazmaq 61 00:04:03,570 --> 00:04:07,380 script və ya proqram adı ilə. 62 00:04:07,380 --> 00:04:13,000 Bu bir Ruby proqram ki demek, Yalnız Rb əvəzinə c ilə son. 63 00:04:13,000 --> 00:04:17,440 Və dəyişən var Ruby ölçülü Diziler, 64 00:04:17,440 --> 00:04:23,200 siz olduğunuzda super rahat qaşınma və bəlkə əlavə etmək istəyirəm 65 00:04:23,200 --> 00:04:26,090 Siz bir sıra daxil həkk etdik data. 66 00:04:26,090 --> 00:04:31,960 Siz yeni array malloc yoxdur və yeni massivinə köhnə array surəti. 67 00:04:31,960 --> 00:04:36,150 Siz yalnız ilə əlavə edə bilərsiniz iki arrow əlamətləri. 68 00:04:36,150 --> 00:04:39,820 Və heç bir chars var var yalnız hərf strings. 69 00:04:39,820 --> 00:04:44,760 Belə ki, bir az daha asan olmalıdır. 70 00:04:44,760 --> 00:04:50,130 >> Belə ki, biz yalnız bəzi vermək lazımdır bəzi əsas Ruby sintaksis nümunələri. 71 00:04:50,130 --> 00:04:57,100 Belə ki, burada əvəzinə görə bilərsiniz çizgi çizgi, Ruby şərh 72 00:04:57,100 --> 00:04:58,740 Yalnız funt işarəsi istifadə edin. 73 00:04:58,740 --> 00:05:04,990 Və dəyişən bəyannamə, siz yalnız dəyişən bərabər yazın 74 00:05:04,990 --> 00:05:07,971 hər hansı dəyişən olmaq istəyirəm. 75 00:05:07,971 --> 00:05:09,220 Onlar strings ola bilər. 76 00:05:09,220 --> 00:05:14,120 Siz array, ola bilər ki, Siz dəyərləri ilə yaşayır. 77 00:05:14,120 --> 00:05:17,240 qoyur və izləri eynidir. 78 00:05:17,240 --> 00:05:20,110 Bizim məqsədləri üçün, Yeganə fərq həqiqətən 79 00:05:20,110 --> 00:05:25,500 ki dayanır, qoyur qoyur, yalnız yeni xətt qoyur 80 00:05:25,500 --> 00:05:27,440 karakter nə siz çap edirik. 81 00:05:27,440 --> 00:05:30,980 >> Biz kiçik vermək əgər Belə ki, burada nümayiş, 82 00:05:30,980 --> 00:05:41,800 Biz bu with-- çalıştırabilirsiniz Yeni terminal açmaq. 83 00:05:41,800 --> 00:05:46,020 Bu bütün edə bilərsiniz mənim terminal var faylları. 84 00:05:46,020 --> 00:05:50,960 Mən yalnız əgər Ruby, yaqut intro.rb, onu 85 00:05:50,960 --> 00:05:53,530 Hello beş həyata qoyur Mather, Quincy, Carrier. 86 00:05:53,530 --> 00:05:54,410 Adams. 87 00:05:54,410 --> 00:05:59,295 Bütün belə var elan serialların. 88 00:05:59,295 --> 00:06:01,670 Auditoriya: Robert, siz edə bilərsiniz Sizin font bir az daha böyük? 89 00:06:01,670 --> 00:06:02,461 ROBERT KRABEK: Bəli. 90 00:06:02,461 --> 00:06:05,370 91 00:06:05,370 --> 00:06:12,280 Bilməz, çünki mən zoom edə bilərsiniz yəqin terminal fonts üçün zoom. 92 00:06:12,280 --> 00:06:18,790 93 00:06:18,790 --> 00:06:24,630 >> Belə ki, siz çap necə Sizin terminal dəyişənlərin. 94 00:06:24,630 --> 00:06:28,820 Siz həmçinin istifadə edə bilərsiniz simli daxilində dəyişənlər. 95 00:06:28,820 --> 00:06:33,720 Belə ki, bu yaxınlarda PHP, Siz öyrəndim bilər 96 00:06:33,720 --> 00:06:37,340 string interpolation yoxdur. 97 00:06:37,340 --> 00:06:43,830 Belə ki, burada bir nəzər, mən əgər üç dəyişənlər, adı, kitabxana elan 98 00:06:43,830 --> 00:06:49,700 və dil, mən qoyur, mən bir simli yazın, salam mənim ad. 99 00:06:49,700 --> 00:06:54,190 Və sonra yerinə PHP string interpolation versiyası 100 00:06:54,190 --> 00:06:58,960 bu kimi bir az daha görünür, Əgər bir funt işarəsi var və 101 00:06:58,960 --> 00:07:01,220 bir buruq brace və sonra dəyişən adı. 102 00:07:01,220 --> 00:07:07,350 Və siz çap istədiyiniz necə, demək ki, nə dəyişən adıdır. 103 00:07:07,350 --> 00:07:10,140 >> Və sonra siz də edə bilərsiniz strings concatenate. 104 00:07:10,140 --> 00:07:12,890 Ruby bu super edir plus sign ilə asan. 105 00:07:12,890 --> 00:07:16,110 Siz yalnız bir simli var sol plus dəyişən haqqında 106 00:07:16,110 --> 00:07:18,860 başqa string plus bir simli və ya. 107 00:07:18,860 --> 00:07:23,500 Bu çap əgər, belə ki, yalnız mənim ad Robert salam demək. 108 00:07:23,500 --> 00:07:27,340 Mən sizə Ruby nokogiri tədris olunacaq. 109 00:07:27,340 --> 00:07:35,370 >> Və yalnız ki, ki, təsdiq edək Həqiqətən case-- yaqut intro edir. 110 00:07:35,370 --> 00:07:36,480 Salam, mənim ad Robert edir. 111 00:07:36,480 --> 00:07:40,160 Mən sizə Ruby nokogiri tədris olunacaq. 112 00:07:40,160 --> 00:07:45,600 >> Hərəkət, başqa şərhlərdə əgər, Bu bir az fərqli 113 00:07:45,600 --> 00:07:49,800 Siz üçün istifadə edilə bilər nə Siz C. iş etdik əgər 114 00:07:49,800 --> 00:07:53,200 Siz parantez ehtiyac yoxdur. 115 00:07:53,200 --> 00:07:55,220 Siz qıvrım aşırma ehtiyac yoxdur. 116 00:07:55,220 --> 00:08:00,170 Əvəzinə əgər başqa bir, bu bir zəncirləmə elsif var. 117 00:08:00,170 --> 00:08:07,260 Burada Belə ki, mən bəyan etdik əgər x Göründüyü kimi, burada, x hələ 5-dir. 118 00:08:07,260 --> 00:08:11,100 X 3-dən az olarsa, belə ki, bu, kiçik qoymaq lazımdır. 119 00:08:11,100 --> 00:08:14,030 7, orta, başqa böyük az varsa. 120 00:08:14,030 --> 00:08:17,340 Belə ki, 5 orta sayı. 121 00:08:17,340 --> 00:08:22,270 Mən sonu ilə kodu bu blok son. 122 00:08:22,270 --> 00:08:24,920 >> Burada loop üçün edir. 123 00:08:24,920 --> 00:08:28,240 Bu syntax də az fərqli. 124 00:08:28,240 --> 00:08:33,500 0 beş yalnız mahiyyətcə 5 0 bir seriallarda elan edir. 125 00:08:33,500 --> 00:08:36,120 Belə ki, serialın beş slots var. 126 00:08:36,120 --> 00:08:40,500 Və sonra hər slot üçün array, mən incrementing olacaq. 127 00:08:40,500 --> 00:08:46,080 Belə ki, bu 4 5 0 və ya 0 çap etməlidir. 128 00:08:46,080 --> 00:08:49,630 Bu orta verməlidir. 129 00:08:49,630 --> 00:08:51,370 >> Mən yalnız vasitəsilə etmek lazımdır. 130 00:08:51,370 --> 00:08:54,466 Siz uşaqlar daxil olacaq sonra bu kodu. 131 00:08:54,466 --> 00:08:55,965 Belə ki, uşaqlar bu özünüzü çalıştırabilirsiniz. 132 00:08:55,965 --> 00:09:02,090 133 00:09:02,090 --> 00:09:06,620 >> Belə ki, bu əsas isə loop var. 134 00:09:06,620 --> 00:09:12,230 Bu yalnız j çap olacaq, biz 5 hit qədər 1-incrementing. 135 00:09:12,230 --> 00:09:18,320 >> Super sürətli Ruby crash kurs bir funksiyası yazmaq üçün necə. 136 00:09:18,320 --> 00:09:24,460 Bunun əvəzinə, demək, int faktöryel sayı, biz yalnız def var. 137 00:09:24,460 --> 00:09:28,450 Və mahiyyətcə sen Burada bir funksiyası müəyyən. 138 00:09:28,450 --> 00:09:30,600 Bu olacaq funksiyası adı, 139 00:09:30,600 --> 00:09:34,280 və bu hər hansı bir dəyişənlər var ki, funksiyası daxil keçmək istəyirik. 140 00:09:34,280 --> 00:09:36,760 Siz ərzində əgər hesabatları ola bilər. 141 00:09:36,760 --> 00:09:38,030 Siz ola bilər. 142 00:09:38,030 --> 00:09:42,620 Bu halda, biz istəyirik bir recursively müəyyən 143 00:09:42,620 --> 00:09:45,000 həyata faktöryel funksiyası. 144 00:09:45,000 --> 00:09:48,660 Beləliklə, biz yalnız funksiyaları zəng bu kimi Ruby. 145 00:09:48,660 --> 00:09:54,700 >> Bu mən, müəyyən etdik Belə ki 3 keçmək, faktöryel zəng edə bilərsiniz, 146 00:09:54,700 --> 00:09:59,700 və sonra 3 sayı dəyişən olacaq Mən funksiyası ərzində istifadə edə bilərsiniz. 147 00:09:59,700 --> 00:10:08,010 Bu to_s yalnız dönüş bir simli daxil Faktorial dəyər qayıtmaq. 148 00:10:08,010 --> 00:10:10,760 Əks halda bu atmaq edəcək Səhv Mən oh deyərək 149 00:10:10,760 --> 00:10:13,230 bir string çap bilməz Yadınızdadırsa kimi, çünki, 150 00:10:13,230 --> 00:10:18,230 Bu, çünki simli qoyulur qoyur faktöryel bir sıra qayıdıb. 151 00:10:18,230 --> 00:10:21,850 Belə ki, çevirə bilərsiniz bu kimi bir string. 152 00:10:21,850 --> 00:10:27,856 Və əksinə, siz də çevirə bilərsiniz to_i ilə tam bir string. 153 00:10:27,856 --> 00:10:32,650 >> Belə ki, hər şey super sadə edilməsi, Mən yalnız bu həyata şərh varsa, saxlamaq 154 00:10:32,650 --> 00:10:36,250 və faktöryel funksiyası axır. 155 00:10:36,250 --> 00:10:39,850 Biz görmək lazımdır 3 ki, faktöryel 6. 156 00:10:39,850 --> 00:10:42,790 Və həqiqətən doğrudur. 157 00:10:42,790 --> 00:10:46,160 >> Belə ki, Ruby sizin crash kurs var. 158 00:10:46,160 --> 00:10:53,550 İndi Ruby bilirik ki, biz getmək bilər əsas Nokogiri qurmaq kazıma. 159 00:10:53,550 --> 00:10:58,190 Əsasən siz nə üçün bütün, Ruby, kitabxanalar tələb edir. 160 00:10:58,190 --> 00:11:04,390 Və bizim üçün, biz istifadə olacaq kitabxana OpenURI eləcə də Nokogiri. 161 00:11:04,390 --> 00:11:07,870 Və sonra nə do-- və lazımdır siz şeylərdir üçün sintaksis vermək 162 00:11:07,870 --> 00:11:16,010 Siz kimi çox URL açıq edir C URL üçün dayanır cURL sorğu. 163 00:11:16,010 --> 00:11:20,330 >> Belə ki, URL almaq sual haqqinda. 164 00:11:20,330 --> 00:11:22,030 Siz dəyişən bu saxlamayın. 165 00:11:22,030 --> 00:11:27,400 Və sonra vasitəsilə axtarış edə bilərsiniz istifadə edərək, unikal HTML tags üçün dəyişən 166 00:11:27,400 --> 00:11:30,590 .css komanda. 167 00:11:30,590 --> 00:11:34,360 Və sonra çıxış edə bilər Istədiyiniz yerdə content. 168 00:11:34,360 --> 00:11:35,720 Siz bazasında başlaya bilərsiniz. 169 00:11:35,720 --> 00:11:42,040 Siz bir fayl çıxış, və ya hətta yalnız ekran çap. 170 00:11:42,040 --> 00:11:47,290 >> Beləliklə, biz bir əsas ərsin göstərmək lazımdır. 171 00:11:47,290 --> 00:11:52,570 Burada biz var edə bilərsiniz, belə ki, nokogiri tələb açıq uri tələb edir. 172 00:11:52,570 --> 00:11:57,150 Sizin əsas set up, edək , sənəd və ya doc zəng 173 00:11:57,150 --> 00:12:07,780 Nokogiri :: HTML olan, açıq bərabərdir OpenURI tərəfindən bizə təqdim komanda 174 00:12:07,780 --> 00:12:08,920 kitabxana. 175 00:12:08,920 --> 00:12:14,000 Və biz üçün, axtarış olacaq Dörd yaşayan ola bilər siz, 176 00:12:14,000 --> 00:12:21,270 Boston verilmişdir Motosiklet üçün Boston Craigslist velosiped hissəsində 177 00:12:21,270 --> 00:12:22,020 Sayt. 178 00:12:22,020 --> 00:12:26,460 >> Siz tanımadığı halda belə curl ilə, yalnız lazımdır 179 00:12:26,460 --> 00:12:28,930 real sürətli cURL nə göstərir. 180 00:12:28,930 --> 00:12:38,350 Mən URL bütün almaq istəyirdi Craigslist site, mən curl yazın əgər, 181 00:12:38,350 --> 00:12:44,950 yalnız URL bütün zibilliklərin Craigslist velosiped site 182 00:12:44,950 --> 00:12:46,720 mənim terminal üzərində. 183 00:12:46,720 --> 00:12:49,130 Xüsusilə deyil faydalı etmirəm, çünki 184 00:12:49,130 --> 00:12:53,330 əl ilə getmək istəyirəm I arıyorum şey tapa bilərsiniz. 185 00:12:53,330 --> 00:13:01,590 Amma yalnız belə siz Mən, həqiqətən, Ben ki, görəcəksiniz 186 00:13:01,590 --> 00:13:13,966 Siz baxmaq əgər, doğru kodu istifadə bikes-- Craigslist üçün URL 187 00:13:13,966 --> 00:13:17,460 nədənsə aşkar deyil. 188 00:13:17,460 --> 00:13:20,340 Bu səhifənin baxsaq və URL baxmaq, 189 00:13:20,340 --> 00:13:23,970 Bu eyni olmalıdır Mən yalnız göndərmək cURL sorğu. 190 00:13:23,970 --> 00:13:27,700 And olsun ki, olan nə var doc dəyişən saxlanılır. 191 00:13:27,700 --> 00:13:36,540 >> Beləliklə, siz bizim kodu geri zaman, biz onda bu doc ​​dəyişən fəaliyyət bilər 192 00:13:36,540 --> 00:13:40,660 .css istifadə edərək. 193 00:13:40,660 --> 00:13:49,240 Belə ki, bütün almaq istədiklərini deyirlər span.txt var tags, 194 00:13:49,240 --> 00:13:51,740 ki, tag ərzində bütün tags. 195 00:13:51,740 --> 00:13:56,150 Və niyə istəyirik bilər Bunu mən ağlamaq eşitmək? 196 00:13:56,150 --> 00:14:02,920 >> Biz Element Inspect, bu, sizə bir verir URL quruluşu necə bölgüsü. 197 00:14:02,920 --> 00:14:06,200 Mən vasitəsilə aşağı diyirləyin əgər Burada siz görə bilərsiniz 198 00:14:06,200 --> 00:14:08,770 nə bu müxtəlif hər elementləri əks etdirir. 199 00:14:08,770 --> 00:14:13,410 Belə ki, bəlkə mən daxil olmaq istəyirsinizsə bu element. 200 00:14:13,410 --> 00:14:16,820 Belə ki, Chrome geliştirici istifadə edirəm tools Element Inspect. 201 00:14:16,820 --> 00:14:22,970 Mən burada çox ki, bu bilərsiniz bir span ərzində tag edir 202 00:14:22,970 --> 00:14:26,230 txt bir sinif ilə tag. 203 00:14:26,230 --> 00:14:29,610 >> Belə ki, bu olur bizim İlk əməliyyat olan 204 00:14:29,610 --> 00:14:37,330 tag doc.css span, ki, Mən bütün bu URL ərzində arıyorum. 205 00:14:37,330 --> 00:14:43,650 Və sonra Txt CSS kimi çox fəaliyyət Yalnız CSS yazılı etdiyiniz zaman yoxdur 206 00:14:43,650 --> 00:14:49,630 sizin HTML faylları bir sinif ifadə. 207 00:14:49,630 --> 00:14:57,980 Belə ki, bu operator olacaq txt sinif ilə span tag daxil. 208 00:14:57,980 --> 00:15:02,800 Və sonra mən bir yer tərk əgər, Bu o tag ərzində gedəcək 209 00:15:02,800 --> 00:15:05,170 və sonra bir ki çərçivəsində tag tapa bilərsiniz. 210 00:15:05,170 --> 00:15:10,750 >> Mən yalnız bu qoymaq əgər terminal, mən olmalıdır 211 00:15:10,750 --> 00:15:21,630 mahiyyətcə hər şeyi görmək mümkün ki, sinif txt bu span ərzində. 212 00:15:21,630 --> 00:15:22,890 Beləliklə, biz bir yolda olduğunu verəcəyik. 213 00:15:22,890 --> 00:15:25,870 214 00:15:25,870 --> 00:15:27,756 ruby craigslist-ərsin. 215 00:15:27,756 --> 00:15:31,850 216 00:15:31,850 --> 00:15:37,250 Həqiqətən bizə bütün bunlar verir müxtəlif siyahıları tags ki, 217 00:15:37,250 --> 00:15:40,400 Craigslist səhifə var. 218 00:15:40,400 --> 00:15:45,670 >> Biz geri getmək əgər Belə ki, biz bu bırakabilirsiniz bir şey bir az daha faydalı. 219 00:15:45,670 --> 00:15:51,050 Bəlkə biz yalnız links istəyirik. 220 00:15:51,050 --> 00:15:58,790 Bu tag ərzində, mən də lazımdır, çünki yolun köprü var 221 00:15:58,790 --> 00:16:00,590 bu səhifə gedir. 222 00:16:00,590 --> 00:16:09,100 Belə ki, burada bu kodu baxsaq, nə edəcəyik əvəzinə .css edir 223 00:16:09,100 --> 00:16:12,380 Mən at_css bilərsiniz. 224 00:16:12,380 --> 00:16:16,820 Və bu, yalnız birinci olacaq o şeyi bütün element. 225 00:16:16,820 --> 00:16:20,890 Mən əgər ki, up bunu code Mən yalnız əvvəllər nümayiş, 226 00:16:20,890 --> 00:16:23,800 əvəzinə bütün qaytarılması Bu, yalnız ki 227 00:16:23,800 --> 00:16:26,850 o ilk qayıtmaq. 228 00:16:26,850 --> 00:16:31,310 At_css operator çalışır ki, var. 229 00:16:31,310 --> 00:16:39,460 >> Beləliklə, biz saxlamaq istəyirəm yol ilk tag bütün. 230 00:16:39,460 --> 00:16:47,430 Və bizi a-- verəcək, çünki belə ki, biz hələ .CSS istifadə etmək olacaq. 231 00:16:47,430 --> 00:16:53,830 Amma bu, çünki vermək niyyətindədir bizə geri tags bütün array, 232 00:16:53,830 --> 00:16:55,710 biz daxil olmaq üçün gedir ilk element. 233 00:16:55,710 --> 00:17:01,700 Belə ki, bu başqa bir yol ki, siz deyil Əgər hər hansı bir element daxil 234 00:17:01,700 --> 00:17:04,810 elementlərin bir sıra var ki qaytarılır, 235 00:17:04,810 --> 00:17:11,930 bir şey müalicə edə bilər, çünki mahiyyətcə bir sıra kimi .css qaytarır. 236 00:17:11,930 --> 00:17:16,880 Və sonra biz daxil olacaq Bu mətn istinad atributu. 237 00:17:16,880 --> 00:17:24,810 >> Belə ki, bir nəzər əgər, əgər Siz burada həqiqətən yaxın baxdı 238 00:17:24,810 --> 00:17:28,270 yalnız mahiyyətcə əgər URL bar baxmaq, 239 00:17:28,270 --> 00:17:33,880 Bu yol ki, Siz qaşınma olacaq. 240 00:17:33,880 --> 00:17:41,565 Biz yalnız yenidən bu Belə ki, və biz bunu xilas etdik əmin olun. 241 00:17:41,565 --> 00:17:47,040 242 00:17:47,040 --> 00:17:48,300 Siz evdə kontrol edə bilərsiniz. 243 00:17:48,300 --> 00:17:51,430 Bu, həqiqətən, bu link ilə gəlir. 244 00:17:51,430 --> 00:17:55,950 >> Belə ki, niyə biz bu istifadə edə bilərsiniz? 245 00:17:55,950 --> 00:17:57,870 Siz qaşımaq istəyirsinizsə Bu var və səhifə 246 00:17:57,870 --> 00:18:00,270 kimi links bir səhifə Craigslist, nə siz 247 00:18:00,270 --> 00:18:03,210 sonra getmək istəyirəm bilər bu əlaqələr hər daxil 248 00:18:03,210 --> 00:18:05,120 və sonra qaşımaq ki, content, hansı 249 00:18:05,120 --> 00:18:08,520 Biz nə olacaq dəqiq nə. 250 00:18:08,520 --> 00:18:11,660 >> Siz kimi yol var bir dəfə belə dəyişən, mən artıq həqiqətən 251 00:18:11,660 --> 00:18:13,200 onu çap qayğı. 252 00:18:13,200 --> 00:18:15,420 Mən yalnız bir dəyişən kimi saxlamaq lazımdır. 253 00:18:15,420 --> 00:18:20,980 Və sonra mən başqa əldə edə bilərsiniz Mən daxil eyni şəkildə səhifə 254 00:18:20,980 --> 00:18:22,260 ilk növbədə doc. 255 00:18:22,260 --> 00:18:25,920 URL ilə istisna olmaqla, biz gedirik string interpolation istifadə etmək 256 00:18:25,920 --> 00:18:29,180 Mən izah etdi Ruby əvvəllər əlavə etmək 257 00:18:29,180 --> 00:18:32,010 kök sonuna yolu. 258 00:18:32,010 --> 00:18:38,970 >> Belə ki, nə bu nə gedir bu yolda qoymaq niyyətindədir 259 00:18:38,970 --> 00:18:42,360 Mən əvvəllər həkk ki, və sonra çevirmək 260 00:18:42,360 --> 00:18:49,580 yeni maddə daxil, siz istədiyiniz hər hansı pseudocode məsələn, first_listing çağırırıq. 261 00:18:49,580 --> 00:18:52,900 Amma tərk gedirəm İndi maddə üzrə bu, 262 00:18:52,900 --> 00:18:55,420 Mən burada istifadə edirəm nə çünki. 263 00:18:55,420 --> 00:19:02,900 >> Beləliklə, mən təsviri almaq istədiklərini deyirlər Craigslist ilk poçt. 264 00:19:02,900 --> 00:19:04,740 Beləliklə, mən burada getmək olardı. 265 00:19:04,740 --> 00:19:10,660 Mən Element Inspect basın ki, yenidən, bu təsviri çünki. 266 00:19:10,660 --> 00:19:14,350 Mən burada getmək və görmək istədiyiniz Mən tapa bilərsiniz əgər necə bilər 267 00:19:14,350 --> 00:19:16,530 Bu unikal tag üçün axtarış edə bilərsiniz. 268 00:19:16,530 --> 00:19:19,530 Və bu halda, o bizə rəhbərlik şəxsiyyət, 269 00:19:19,530 --> 00:19:26,810 üçün axtarış növbəti yol tags olan bir hashtag ilə. 270 00:19:26,810 --> 00:19:30,670 >> Siniflər üçün, siz belə dot operator istifadə. 271 00:19:30,670 --> 00:19:38,610 Belə ki, Txt, txt sinif ifadə edir hash halbuki ID göstərir. 272 00:19:38,610 --> 00:19:43,720 Belə ki, bu halda, tag edir bölmə Harada postingbody edir. 273 00:19:43,720 --> 00:19:47,780 >> Belə ki, bu gedir və hesab first-- biz istəyirik, çünki 274 00:19:47,780 --> 00:19:51,200 Bu gedir at_css-- istifadə və ilk element hesab edir ki, 275 00:19:51,200 --> 00:19:57,180 bölmə tag ilə gəlir və postingbody şəxsiyyət. 276 00:19:57,180 --> 00:20:02,636 Və sonra mətn element əldə edə bilərsiniz ki, maddə Mətn ilə döndü. 277 00:20:02,636 --> 00:20:06,230 Və sonra biz bilərsiniz təsviri edir. 278 00:20:06,230 --> 00:20:09,370 >> Belə ki, indi biz bir var ki, dəyişən təsviri, 279 00:20:09,370 --> 00:20:14,850 biz, demək, bunu edə bilər I / O fayl. Belə ki, Ruby I / O fayl 280 00:20:14,850 --> 00:20:21,310 / O Mən fayl çox oxşardır C biz bir fayl açmaq yerləşir. 281 00:20:21,310 --> 00:20:23,260 Biz buna yazmaq bilər. 282 00:20:23,260 --> 00:20:25,060 Və sonra biz fayl yaxın olacaq. 283 00:20:25,060 --> 00:20:29,660 >> Belə ki, burada, biz yalnız adlandırma edirik bəzi ixtiyari dəyişən fayl. 284 00:20:29,660 --> 00:20:33,120 Biz də yalnız burada bu qoymaq bilərdi. 285 00:20:33,120 --> 00:20:39,630 Biz saxlanılması edirik dəyişən var File.open kimi açıq fayl. 286 00:20:39,630 --> 00:20:46,370 Və biz, bu fayl yazılı edirik belə ki, biz w operatoru ilə açın. 287 00:20:46,370 --> 00:20:54,280 Və sonra biz daxil simli qoymaq .puts operatoru ilə fayl. 288 00:20:54,280 --> 00:20:58,310 Və sonra biz dəyişən qoymaq ki, biz ki, ərzində fayl yazmaq istəyirəm. 289 00:20:58,310 --> 00:21:00,200 Və sonra biz yalnız fayl bağlayın. 290 00:21:00,200 --> 00:21:04,000 >> Belə ki, biz irəli getmək və bu run əgər, Bu sənəd olmalıdır 291 00:21:04,000 --> 00:21:10,840 description.txt olan iradə ərzində bu təsviri var. 292 00:21:10,840 --> 00:21:14,015 Belə ki, əgər mən heç bir pseudocode axır. 293 00:21:14,015 --> 00:21:17,520 294 00:21:17,520 --> 00:21:23,330 Bu, bir mətn faylı istehsal edir ümid edirəm ki, eyni şey. 295 00:21:23,330 --> 00:21:25,850 296 00:21:25,850 --> 00:21:33,290 Belə ki, yeni poçt var bilər Mən söhbət etdik isə qədər gəlib. 297 00:21:33,290 --> 00:21:36,580 Olmuşdur kimi həqiqətən görünür. 298 00:21:36,580 --> 00:21:43,380 Beləliklə, biz bu klassik Velosiped getmək əgər, 1962 1966 üçün ki, uyğun görünür. 299 00:21:43,380 --> 00:21:45,620 Və siz getmək. 300 00:21:45,620 --> 00:21:51,250 >> Belə ki, ən əsas var kazıma funksionallıq. 301 00:21:51,250 --> 00:21:57,510 Biz əvəzinə ola bilər yalnız bu fayl yazılı, 302 00:21:57,510 --> 00:21:59,930 biz bir sıra şeyi əlavə edə bilərsiniz. 303 00:21:59,930 --> 00:22:03,770 Mən üç Diziler elan Belə ki, adı, qiyməti, və təsviri. 304 00:22:03,770 --> 00:22:06,310 305 00:22:06,310 --> 00:22:13,790 Və biz indi doc maddə üzrə fəaliyyət edirik. 306 00:22:13,790 --> 00:22:16,940 Biz vasitəsilə getmək və bilərsiniz span.txt bütün tapa bilərsiniz. 307 00:22:16,940 --> 00:22:21,710 Bu bir sıra qaytarır, xatırlayıram tapdığı bütün maddələr. 308 00:22:21,710 --> 00:22:27,300 Və sonra Ruby, yalnız istifadə edə bilərsiniz hər bir maddə vasitəsilə təkrarlamaq .Hər 309 00:22:27,300 --> 00:22:28,410 serialın. 310 00:22:28,410 --> 00:22:31,330 Və sonra hər bir maddə üçün, Mən yalnız zəng etmək üçün gedirəm 311 00:22:31,330 --> 00:22:34,620 ki, var, çünki bir link bu mahiyyətcə nə. 312 00:22:34,620 --> 00:22:46,830 >> Beləliklə, mən hər link.css dot a.hdrlnk qoymaq əgər, Bu, həqiqətən, link gedir 313 00:22:46,830 --> 00:22:58,280 ki, link bir ərzində tapmaq HTML element və müvafiq sinif. 314 00:22:58,280 --> 00:23:04,990 Belə ki, biz xatırlayıram nə Bu, span.txt idi 315 00:23:04,990 --> 00:23:13,160 Mənə yalnız geri gedək see- bilər span.txt ərzində real quick-- 316 00:23:13,160 --> 00:23:17,490 digər dərsləri var. 317 00:23:17,490 --> 00:23:27,180 Belə ki span.txt daxilində, biz aradığınız bir sinif hdrlnk ilə bir tag üçün. 318 00:23:27,180 --> 00:23:29,890 Mənə ki, yalnız tapmaq imkan Sizlərin real tez. 319 00:23:29,890 --> 00:23:37,390 320 00:23:37,390 --> 00:23:42,850 >> Burada görə bilərsiniz, bu bir tag edir ki, sinif txt span ərzində var 321 00:23:42,850 --> 00:23:44,920 ki, sinif hdrlnk var. 322 00:23:44,920 --> 00:23:47,610 Və həqiqətən nə var Biz almaq üçün çalışırıq. 323 00:23:47,610 --> 00:23:54,680 >> Beləliklə, biz indi bütün saxlamaq üçün çalışdığınız başlığı daxilində bu əlaqələr. 324 00:23:54,680 --> 00:23:59,545 Və sonra biz çap olacaq bu əlaqələr hər həyata. 325 00:23:59,545 --> 00:24:00,360 Xeyr, sorry. 326 00:24:00,360 --> 00:24:04,530 Biz çap olacaq o hər qiyməti. 327 00:24:04,530 --> 00:24:09,350 Belə ki, həqiqətən, bu run edək tez və nə görmək. 328 00:24:09,350 --> 00:24:14,680 329 00:24:14,680 --> 00:24:17,720 >> Belə ki, bu yalnız əsasən getdi links hər vasitəsilə 330 00:24:17,720 --> 00:24:27,310 öz növbəsində, söz mövzusu tag əldə və sonra qiymət çıxardı. 331 00:24:27,310 --> 00:24:33,910 Və bu idi ki, sonra, çünki Siz adı hər şey var, 332 00:24:33,910 --> 00:24:37,260 biz yalnız orada adı saxlanılır etdik. 333 00:24:37,260 --> 00:24:40,180 Biz yalnız link saxlanılır etdik array adı ərzində. 334 00:24:40,180 --> 00:24:47,720 Və loop əməliyyat üçün bu, harada əvəzinə a.hdrlnk gedən, 335 00:24:47,720 --> 00:24:50,490 biz bir span.price aradığınız. 336 00:24:50,490 --> 00:24:56,500 Mən, həqiqətən, tez tapa bilərsiniz, belə ki, qiyməti element yoxlamaq əgər, 337 00:24:56,500 --> 00:25:00,610 Siz bir span ki, görəcəksiniz qiymət sinif ilə. 338 00:25:00,610 --> 00:25:04,670 Və mahiyyətcə necə biz qiymət alırıq. 339 00:25:04,670 --> 00:25:10,040 >> Belə ki, həqiqətən qaşımaq əsas işi. 340 00:25:10,040 --> 00:25:13,550 Ki, bütün almaq necə Bir səhifə elementləri 341 00:25:13,550 --> 00:25:16,510 ki, demək, siz artıq URL bilirik. 342 00:25:16,510 --> 00:25:21,050 >> Biz almaq istəyirsinizsə Belə ki, , dərinliyi daha az 343 00:25:21,050 --> 00:25:23,950 biz pages pages əngəl ola bilər. 344 00:25:23,950 --> 00:25:28,480 Və bu, məsələn, mən bir CSV faylı tipi olun. 345 00:25:28,480 --> 00:25:39,510 Mən burada csv up tələb edirəm Ruby deyil, çünki özü daxilində, 346 00:25:39,510 --> 00:25:42,350 funksionallıq var yalnız çıxış CSV faylları. 347 00:25:42,350 --> 00:25:45,030 Belə ki, super sadə. 348 00:25:45,030 --> 00:25:48,710 Mənə yalnız növbəti gedək. 349 00:25:48,710 --> 00:25:51,640 350 00:25:51,640 --> 00:25:57,170 Biz fayl I / O əhatə etmişdir. Belə ki, bu Bu C. necə oxşardır 351 00:25:57,170 --> 00:26:00,870 Və biz Kimono üçün hərəkət əvvəl, Mən necə həqiqətən sürətli göstərmək lazımdır 352 00:26:00,870 --> 00:26:02,790 yerləri çərçivəsində saytlar qaşımaq üçün. 353 00:26:02,790 --> 00:26:10,040 >> Belə ki, biz artıq necə öyrəndim Ruby Diziler elan. 354 00:26:10,040 --> 00:26:13,280 Mən yalnız bir elan edirəm ixtiyari serialların dəstə 355 00:26:13,280 --> 00:26:16,310 Mən ərzində məlumatların saxlanılması olunacaq. 356 00:26:16,310 --> 00:26:20,680 doc eyni şəkildə fəaliyyət göstərir Əvvəlki fayl etdi. 357 00:26:20,680 --> 00:26:23,580 Biz tapmaq,-da olacaq span.txt nin hər. 358 00:26:23,580 --> 00:26:25,040 Biz artıq bilirik. 359 00:26:25,040 --> 00:26:32,130 Ki, konteyner olan hər ərzində link istəyirik data bütün var. 360 00:26:32,130 --> 00:26:40,800 >> Belə ki, burada biz nə edirik hər üçün span class txt link, biz gedirik 361 00:26:40,800 --> 00:26:45,720 və biz bir tag tapmaq edirik ki, ilk element tapmaq. 362 00:26:45,720 --> 00:26:49,937 , .css Bir sıra qaytarır, saxla kimi belə ki, yalnız gedə bilməz. 363 00:26:49,937 --> 00:26:51,520 Biz ilk element tapmaq olacaq. 364 00:26:51,520 --> 00:26:56,430 Bu bir bir sıra belə maddə, bu sintaksis istifadə etmək lazımdır, 365 00:26:56,430 --> 00:26:58,800 və sonra href atributu çıxarmaq. 366 00:26:58,800 --> 00:27:01,800 >> Beləliklə, biz bu əvvəllər idi. 367 00:27:01,800 --> 00:27:04,440 Belə ki, bu tanış baxmaq lazımdır. 368 00:27:04,440 --> 00:27:14,330 Və indi biz bir sıra var Bizim links bütün adlı yolları 369 00:27:14,330 --> 00:27:16,590 biz istifadə etmək istədiyiniz olacaq ki. 370 00:27:16,590 --> 00:27:21,350 Beləliklə, biz bütün bu array varsa biz istifadə etmək istədiyiniz yolları, 371 00:27:21,350 --> 00:27:26,840 biz sonra hər bir maddə yarada bu pages ki, bir səhifə açmaq zaman. 372 00:27:26,840 --> 00:27:31,150 Biz də gördüm, belə ki, əvvəl, burada sintaksis 373 00:27:31,150 --> 00:27:37,450 yolu ilə string interpolation bunu burada, belə ki, sintaksis yalnız yol üçün. 374 00:27:37,450 --> 00:27:41,450 Və mən bu ad bilər dəyişən hər hansı bir ixtiyari adı. 375 00:27:41,450 --> 00:27:43,070 >> Bu əhəmiyyətli biridir. 376 00:27:43,070 --> 00:27:46,650 Bu ki, siz lazımdır array var hər bir element daxil olun. 377 00:27:46,650 --> 00:27:52,400 Amma yolları yolu deyəndə, Bu yolları hər bir element üçün o deməkdir ki, 378 00:27:52,400 --> 00:27:55,150 yol zəng, və istifadə edin. 379 00:27:55,150 --> 00:27:59,266 Bu zaman kimi mahiyyətcə loop üçün nə və mən int istifadə edin. 380 00:27:59,266 --> 00:28:04,000 Belə ki, kimi yol müalicə edə bilər incrementing dəyişən. 381 00:28:04,000 --> 00:28:07,820 >> Və sonra o hər biri üçün, bu əlaqələr hər daxil. 382 00:28:07,820 --> 00:28:11,710 Biz maddə səhifəsinə saxlanılması edirik, çünki, belə ki, biz hər zaman yeni bir səhifə yaratmaq edirik 383 00:28:11,710 --> 00:28:13,330 biz gedə. 384 00:28:13,330 --> 00:28:20,560 Və sonra yeni page tapmaq span.postingtitletext, span.price, 385 00:28:20,560 --> 00:28:22,240 və sonra bölmə # postingbody. 386 00:28:22,240 --> 00:28:28,430 Biz artıq bölüm # postingbody əhatə biz təsviri baxdı zaman. 387 00:28:28,430 --> 00:28:34,890 >> Beləliklə, biz Craigslist post görmək getmək bilər, Yalnız adı arıyorsanız, 388 00:28:34,890 --> 00:28:38,810 Siz burada bu qədər görə bilərsiniz span postingtitletext. 389 00:28:38,810 --> 00:28:41,390 Bu var ki, var. 390 00:28:41,390 --> 00:28:49,120 Və sonra qiymət üçün, siz qiymət span sinif daxil. 391 00:28:49,120 --> 00:28:54,480 >> Belə ki, biz bəlkə də bilər URL saxlamaq istəyirəm. 392 00:28:54,480 --> 00:28:58,580 Beləliklə, biz yalnız bu run lazımdır yenə bir sıra onu saxlamaq, 393 00:28:58,580 --> 00:29:01,150 siz aradığınız, çünki Craigslist, sen 394 00:29:01,150 --> 00:29:05,290 yəqin ki, əgər, bir yol istəyirəm olacaq Siz maraqların siz bir şey görmək 395 00:29:05,290 --> 00:29:06,620 geri site to. 396 00:29:06,620 --> 00:29:10,480 Belə ki, yalnız saxlamaq istəyirəm Istinadlar naminə URL. 397 00:29:10,480 --> 00:29:13,840 398 00:29:13,840 --> 00:29:19,630 >> Bu yalnız mahiyyətcə loop üçün başqa syntax. 399 00:29:19,630 --> 00:29:26,360 Mən yalnız əvəzinə paths.each yoxdur bilər indeksi ilə yolları yolu. 400 00:29:26,360 --> 00:29:31,280 Bu syntax Ruby edir baxan mýsýn yol, biz burada nə edir 401 00:29:31,280 --> 00:29:33,920 hər bir maddə üçün bir dəyişən elan. 402 00:29:33,920 --> 00:29:38,540 Və index kimi davranır loops üçün C i. 403 00:29:38,540 --> 00:29:41,280 Belə ki, takip edə bilərsiniz index nə. 404 00:29:41,280 --> 00:29:45,200 >> Belə ki, burada yalnız bir deyil az rahat şey 405 00:29:45,200 --> 00:29:46,950 Siz ərsin çalışan etdiyiniz zaman üçün. 406 00:29:46,950 --> 00:29:50,580 Siz pages yüzlərlə qaşınma istəyirsinizsə, Bu asma deyil əmin etmək, 407 00:29:50,580 --> 00:29:53,320 Bu, yalnız çıxış edəcək Bu səhifəni daxil alıram, 408 00:29:53,320 --> 00:29:55,960 və əmin edilməsi hələ də davam edir. 409 00:29:55,960 --> 00:29:59,250 Amma bizim üçün, çünki yüz maddələr var, 410 00:29:59,250 --> 00:30:08,000 Mən onlara yalnız üç daxil olmaq üçün gedirəm biz burada vaxt tökülmək deyil ki. 411 00:30:08,000 --> 00:30:13,040 >> Biz almaq əvvəl, mən yalnız deyiləm Siz, həqiqətən, sürətli göstərmək niyyətindədir, 412 00:30:13,040 --> 00:30:16,940 Mən adı tipi olunacaq qiyməti, təsviri, və URL 413 00:30:16,940 --> 00:30:19,600 Mən həkk etdik links hər. 414 00:30:19,600 --> 00:30:23,720 Və sonra bu yalnız CSV kitabxana üçün syntax. 415 00:30:23,720 --> 00:30:25,240 Siz CSV açın. 416 00:30:25,240 --> 00:30:27,070 Bu zəng etmək üçün gedirəm budur. 417 00:30:27,070 --> 00:30:29,430 Yazmaq ilə açın. 418 00:30:29,430 --> 00:30:33,830 Və sonra CSV fayl olacaq Siz daxil hər şeyi giren edirik. 419 00:30:33,830 --> 00:30:37,800 Bu yalnız bir ağlı başında olma çek Mənə çalışan ki, bilmək. 420 00:30:37,800 --> 00:30:41,240 Və bu mənim ağlı başında olma çek bu başa var ki, bilmək. 421 00:30:41,240 --> 00:30:46,670 Belə ki, bir sıra daxil adı qoyulması alıram CSV, qiymət, url, təsviri, 422 00:30:46,670 --> 00:30:49,420 bütün CSV satır. 423 00:30:49,420 --> 00:30:53,410 >> Biz getmək və run əgər Belə ki, Bu, indi və mən yalnız 424 00:30:53,410 --> 00:31:04,710 Mən pseudocode əvəzinə xilas etdik ki, əmin olun yalnız terminal onu tipi, 425 00:31:04,710 --> 00:31:09,750 bir CSV olmalıdır istehsal fayl. 426 00:31:09,750 --> 00:31:13,500 Belə ki, burada biz CSV bilərsiniz istehsal edilmişdir fayl. 427 00:31:13,500 --> 00:31:19,330 Bu çıxış edir Mən yalnız qaçdı scape. 428 00:31:19,330 --> 00:31:23,030 Burada göründüyü kimi, qoşulması səhifə 0, 1, 2, 3. 429 00:31:23,030 --> 00:31:27,400 Bu kitablar var, qiymətləri, təsviri. 430 00:31:27,400 --> 00:31:31,710 Və biz bu CSV baxsaq biz yaradılan sonra fayl, 431 00:31:31,710 --> 00:31:35,700 Onun burada outputted bilərsiniz. 432 00:31:35,700 --> 00:31:40,350 Bu Excel deyil, belə ki, deyil satır ve sütun biçimlendirilmiş. 433 00:31:40,350 --> 00:31:45,140 Amma necə təsəvvür edə bilərsiniz Bu biçimlendirilmiş bilər. 434 00:31:45,140 --> 00:31:47,740 >> CSV virgülle ayrılmış dəyərlər dayanır. 435 00:31:47,740 --> 00:31:50,090 Belə ki, bu bir sıra ola bilər təsəvvür edə bilərsiniz. 436 00:31:50,090 --> 00:31:54,700 Və hər bir vergül ki ayrı sütun göstərir. 437 00:31:54,700 --> 00:32:00,010 Caution-- Yalnız bir söz bəzən etdiyiniz 438 00:32:00,010 --> 00:32:02,260 virgülle bir çox şeyi qaşınma. 439 00:32:02,260 --> 00:32:05,100 Siz tipi edirsinizsə Belə ki, bir CSV faylı üçün, 440 00:32:05,100 --> 00:32:10,340 güc deyil çıxış Sizcə bilər yol. 441 00:32:10,340 --> 00:32:16,770 >> Belə ki, mahiyyətcə bütün əsas HTML qaşınma var 442 00:32:16,770 --> 00:32:20,110 Nokogiri ilə pages. 443 00:32:20,110 --> 00:32:26,000 >> Internet olan Belə ki, yenilikçi bu qədər gəlib kimi 444 00:32:26,000 --> 00:32:33,220 daha avtomatlaşdırılmış və GUI ilə az sağlam olsa versiyası 445 00:32:33,220 --> 00:32:35,540 müxtəlif saytlarda kazıma versiyası. 446 00:32:35,540 --> 00:32:39,060 Və bizim məqsədləri üçün Mən nümayiş olacaq 447 00:32:39,060 --> 00:32:42,920 Kimono adlı Chrome uzadılması. 448 00:32:42,920 --> 00:32:46,690 Və nə üçün bütün gedin deyil Siz qaşımaq istəyirəm səhifə. 449 00:32:46,690 --> 00:32:48,590 Siz maraq sahəsində basın. 450 00:32:48,590 --> 00:32:51,510 Siz sahələri kalibrini ölçmək, avtomatik olaraq, çünki 451 00:32:51,510 --> 00:32:54,360 nə düşünür aşkar Siz kazıma olmaq istəyirəm, 452 00:32:54,360 --> 00:32:56,280 və sonra yalnız bir API yaradır. 453 00:32:56,280 --> 00:33:03,700 >> Biz Belə ki onu nümayiş etdirmək Craigslist, bu, həqiqətən işləməyəcək. 454 00:33:03,700 --> 00:33:08,290 Və bu mən geri gedirdi nə kimi güclü olmayan haqqında söyləyərək. 455 00:33:08,290 --> 00:33:10,320 Bu problem API yaradılması var. 456 00:33:10,320 --> 00:33:13,400 Amma bir nümayişi kimi bunu nə ki, 457 00:33:13,400 --> 00:33:17,460 Siz Chrome uzadılması yüklerseniz, Siz bütün onu basın. 458 00:33:17,460 --> 00:33:21,750 Bu səhifə Kimonofies, sonra Siz script istədiyiniz şey basın. 459 00:33:21,750 --> 00:33:24,480 >> Beləliklə, mən basın olsaydı ki, qeyd edirəm 460 00:33:24,480 --> 00:33:28,130 nə düşünür istəyirəm ki, səhifə off qaşınma ola bilər. 461 00:33:28,130 --> 00:33:33,660 Belə ki, bəlkə mən bu siyahıları çağırırıq. 462 00:33:33,660 --> 00:33:36,430 Bu seçilmiş neçə maddələr var. 463 00:33:36,430 --> 00:33:43,810 Mən yalnız təsdiq və ya bəzi inkar edə bilər digər təklif siyahıları 464 00:33:43,810 --> 00:33:49,600 Bu əlavə etmək üçün nə həkk olunacaq. 465 00:33:49,600 --> 00:33:52,330 >> Belə ki, indi biz var edə bilərsiniz yüz maddələr seçdi. 466 00:33:52,330 --> 00:33:58,060 Başqa bir sahə var istəyirəm ki, əgər mən bu ilə bağlı olan əngəl, 467 00:33:58,060 --> 00:34:02,540 Mən qiymət əngəl istəyirsiniz eləcə də, sonra mən eyni edə bilərsiniz. 468 00:34:02,540 --> 00:34:06,190 469 00:34:06,190 --> 00:34:11,550 >> Belə ki, burada bu necə bir nümayiş var daha az sağlam, indi, çünki 470 00:34:11,550 --> 00:34:15,050 əvəzinə şəhər aldığınız Mən istəyirəm yalnız qiyməti. 471 00:34:15,050 --> 00:34:16,989 İndi 200 şeyi seçilmiş. 472 00:34:16,989 --> 00:34:19,880 Siz geri getmək və silə bilərsiniz. 473 00:34:19,880 --> 00:34:21,449 Siz yenidən cəhd edə bilərsiniz. 474 00:34:21,449 --> 00:34:24,250 Amma heç bir zəmanət verir. 475 00:34:24,250 --> 00:34:29,909 Bu bəzən işləri necə. 476 00:34:29,909 --> 00:34:32,969 Burada gördüyünüz kimi, indi burada 96 qədər deyir. 477 00:34:32,969 --> 00:34:37,000 Bu links ən seçilmiş Siz istəyirəm ki, əngəl, lakin üçün 478 00:34:37,000 --> 00:34:39,280 mütləq onların hamısı. 479 00:34:39,280 --> 00:34:43,909 >> Kimono digər faydalı alət olsa Ətraflı Features getmək bilər 480 00:34:43,909 --> 00:34:47,980 burada Advanced getmək, və bu sizə göstərəcək 481 00:34:47,980 --> 00:34:53,139 unikal qəza HTML daxil olmaq üçün yol 482 00:34:53,139 --> 00:34:54,909 Siz qaşımaq istəyirəm tags. 483 00:34:54,909 --> 00:35:01,450 Belə ki, siyahıları üçün, burada baxsaq, Siz div p span bir span daxil əgər, 484 00:35:01,450 --> 00:35:06,030 Siz, həqiqətən, yalnız istifadə edə bilərsiniz Sizin Nokogiri kodu bu, 485 00:35:06,030 --> 00:35:10,780 biz span.txt idi əvvəl siyahıları hər daxil olmaq üçün. 486 00:35:10,780 --> 00:35:13,270 Mən yalnız mətn istəyirsinizsə siyahıları ərzində 487 00:35:13,270 --> 00:35:18,950 Mən ola bilər input div space p space span space span space a, 488 00:35:18,950 --> 00:35:21,570 və eyni təsiri nail olmaq olardı. 489 00:35:21,570 --> 00:35:26,320 Və sizin üçün maraqlı olan normal ifadeler istifadə, 490 00:35:26,320 --> 00:35:31,670 bu da müntəzəm vermək olur giriş simli ifadə sort 491 00:35:31,670 --> 00:35:34,900 şeyi tapmaq üçün Siz tapmaq üçün çalışırıq. 492 00:35:34,900 --> 00:35:44,130 >> Belə ki, bir sərin xüsusiyyət var Siz paginate bilərsiniz Kimono, 493 00:35:44,130 --> 00:35:47,780 olan yalnız mən əngəl ola bilər deyil bu səhifənin nəticələri 494 00:35:47,780 --> 00:35:50,890 Mən bu kiçik vurun Burada düyməsini Pagination, 495 00:35:50,890 --> 00:35:55,580 düyməsini ki olardı müəyyən Növbəti səhifə üçün mənə almaq, 496 00:35:55,580 --> 00:35:59,500 və o, yalnız bilirik ki, növbəti səhifə təkrarlamaq olar, 497 00:35:59,500 --> 00:36:04,120 və sonra the-- kimi uzun bütün qaşımaq Bu course-- eyni format kimi 498 00:36:04,120 --> 00:36:06,110 eləcə də həmin əlaqələrin bütün scape. 499 00:36:06,110 --> 00:36:15,230 >> Kimono istəmir, çünki belə Biz nə etdik, Craigslist ilə işləmək 500 00:36:15,230 --> 00:36:19,790 Mən Harvard Crimson Kimonofied etdik edir. 501 00:36:19,790 --> 00:36:29,380 Mən növ bəzi çəkilmiş etdik top məqalələr, burada təsdiq səsləndirilib. 502 00:36:29,380 --> 00:36:33,090 Bütün bunlar deyirlər. 503 00:36:33,090 --> 00:36:35,830 Bu API tərtib etdik vaxtından əvvəl sizin üçün. 504 00:36:35,830 --> 00:36:38,990 Amma edəcəyini başqa nə Yalnız Done basın ki, edir. 505 00:36:38,990 --> 00:36:40,940 Sizin API ətraflı daxil edin. 506 00:36:40,940 --> 00:36:45,260 Üçün seçin bilərsiniz avtomatik və ya manual tarama. 507 00:36:45,260 --> 00:36:48,460 Belə ki, yeniləmə bilər sizin data hər 15 dəqiqə, 508 00:36:48,460 --> 00:36:50,330 həftəlik, gündəlik, istədiyiniz hər hansı. 509 00:36:50,330 --> 00:36:51,160 Sizin API adı. 510 00:36:51,160 --> 00:36:52,790 API yaradın. 511 00:36:52,790 --> 00:36:58,460 Sizin üçün, mən yaratdığınız Artıq ön səhifə API allıq. 512 00:36:58,460 --> 00:37:02,480 >> Belə ki, yalnız bir yaratmaq Kimono hesabı və bu 513 00:37:02,480 --> 00:37:06,240 sizin üçün bütün API saxlamaq olacaq. 514 00:37:06,240 --> 00:37:10,330 Belə ki, mahiyyətcə bütün var sizin ayrı-ayrı müxtəlif scrapes. 515 00:37:10,330 --> 00:37:18,250 >> Biz burada baxmaq əgər Belə ki, bu Mən toplanmış etdik fikir links. 516 00:37:18,250 --> 00:37:21,290 Bu nümayiş var Mən toplanmış etdik links. 517 00:37:21,290 --> 00:37:24,090 Və bu ən oxunur Mən toplanmış etdiyiniz keçidlər 518 00:37:24,090 --> 00:37:27,120 Bu ən son API duyarga olan. 519 00:37:27,120 --> 00:37:30,790 >> Burada görə bilərsiniz Belə ki, Bu, nümayiş olacaq 520 00:37:30,790 --> 00:37:34,130 Bu fikir olardı, Bu misalda ki, 521 00:37:34,130 --> 00:37:38,150 Mən bütün bunları birlikdə etdik bir kolleksiya daxil. 522 00:37:38,150 --> 00:37:42,780 Amma yalnız ilə ətrafında oynamaq əgər bir az, siz onu parçalamaq bilər 523 00:37:42,780 --> 00:37:45,090 və lakin onu bölmək siz kimi uzun istəyirəm 524 00:37:45,090 --> 00:37:47,520 formatlama kimi bir az fərqlidir. 525 00:37:47,520 --> 00:37:51,320 >> Məhz bu ilə ətrafında oynamaq üçün, tarama, downsides biri qurmaq 526 00:37:51,320 --> 00:37:58,120 Siz yalnız tarama bilər Bir zamanda 25 pages. 527 00:37:58,120 --> 00:38:00,430 Ki məhdudlaşdıran amillərdən biridir. 528 00:38:00,430 --> 00:38:03,060 Amma burada, bu əgər manual tarama, bu 529 00:38:03,060 --> 00:38:06,100 Siz deyə bilərsiniz necə Sizin veri yeniləmə. 530 00:38:06,100 --> 00:38:11,010 Və burada sizin tarama tarixi görə bilərsiniz hər şey siz sürünərək etdik ki. 531 00:38:11,010 --> 00:38:16,000 Və uşaqlar geri bilərsiniz, qeydiyyatdan, bütün müxtəlif yolları ilə ətrafında oynamaq 532 00:38:16,000 --> 00:38:20,340 ki, dəyişdirmək və sizin data istifadə edə bilərsiniz. 533 00:38:20,340 --> 00:38:24,580 >> Kimono üçün müəyyən edilə bilər bağlantılar ərzində links qaşımaq. 534 00:38:24,580 --> 00:38:29,700 Və ilk bunu ki, links bir siyahısını qaşınma, 535 00:38:29,700 --> 00:38:35,390 və sonra kimi API istifadə başqa API üçün point off jump 536 00:38:35,390 --> 00:38:36,710 Siz script yaratmaq. 537 00:38:36,710 --> 00:38:42,040 Amma ki, daha mürəkkəb nə biz bu gün daxil olacaq. 538 00:38:42,040 --> 00:38:44,270 >> Belə ki, Kimono var. 539 00:38:44,270 --> 00:38:46,980 Biz lehte haqqında danışmaq lazımdır və Nokogiri və Kimono eksiklikleri. 540 00:38:46,980 --> 00:38:50,380 >> Nokogiri, bu, həqiqətən sürətli. 541 00:38:50,380 --> 00:38:51,640 Bu test üçün asandır. 542 00:38:51,640 --> 00:38:55,910 Siz yalnız bir şey qoyur bilər console, asan konfiqurasiya. 543 00:38:55,910 --> 00:39:00,400 Siz dəqiq nə qərar qəbul edə bilər Siz qaşımaq və mağaza istəyirəm. 544 00:39:00,400 --> 00:39:02,060 Heç bir səhifə məhdudiyyət yoxdur. 545 00:39:02,060 --> 00:39:08,010 Mən, həqiqətən, kimi qaşımaq üçün istifadə 1800 Cənubi Afrika məktəb saytları 546 00:39:08,010 --> 00:39:10,870 Mən təcrübə üçün e-poçt üçün. 547 00:39:10,870 --> 00:39:16,060 >> Belə ki, mümkün ən yaxşı təcrübə olsa script parçalamaq olardı. 548 00:39:16,060 --> 00:39:19,310 Sonra, uğursuz Çünki bir şey deyil. 549 00:39:19,310 --> 00:39:22,790 Amma bir yüz əgər, bəlkə bir zamanda 200 pages, 550 00:39:22,790 --> 00:39:27,840 sonra bəzi şans var, ən azı xüsusilə, tədricən əldə 551 00:39:27,840 --> 00:39:30,280 Siz pis internet var. 552 00:39:30,280 --> 00:39:32,720 >> Təəssüf ki, bu, yalnız HTML əngəl ola bilər. 553 00:39:32,720 --> 00:39:35,190 Varsa, belə ki, dinamik dolu pages-- 554 00:39:35,190 --> 00:39:39,480 və Mən sizə bir nümunə göstərmək lazımdır bir second-- da Kayahan kimi 555 00:39:39,480 --> 00:39:42,270 Nokogiri təəssüf ki, ki, əngəl deyil. 556 00:39:42,270 --> 00:39:45,700 >> Amma Kimono də istifadə üçün asandır. 557 00:39:45,700 --> 00:39:48,330 Gördüyün kimi, mahiyyətcə var bir point və basın. 558 00:39:48,330 --> 00:39:50,260 JavaScript əngəl ola bilər. 559 00:39:50,260 --> 00:39:53,790 Təəssüf ki, maksimum var Siz əngəl ola bilər necə çox pages. 560 00:39:53,790 --> 00:39:55,710 Bəzən bir az var konfiqurasiya etmək çətindir. 561 00:39:55,710 --> 00:39:57,240 Bu qarışıq olur. 562 00:39:57,240 --> 00:40:00,920 Amma bu mütləq bir şey hesab 563 00:40:00,920 --> 00:40:05,930 Bir üçün çalışırıq deyilik əgər super güclü maintainable scrape. 564 00:40:05,930 --> 00:40:09,010 Yalnız almaq istəyirsinizsə tez bir səhifə off hər şey 565 00:40:09,010 --> 00:40:10,970 sonra Kimono həqiqətən var yaxşı vasitə istifadə etmək. 566 00:40:10,970 --> 00:40:16,490 Mən əvvəl qeyd kimi, var Kimono qabaqcıl xüsusiyyət 567 00:40:16,490 --> 00:40:19,260 ki, necə göstərir unikal HTML daxil 568 00:40:19,260 --> 00:40:24,210 hətta super faydalı element, Siz Nokogiri çalışan olunur. 569 00:40:24,210 --> 00:40:30,370 >> Belə ki, biz, Kayahan site getmək Məsələn, orada görə bilərsiniz is-- 570 00:40:30,370 --> 00:40:31,750 və ya bəlkə siz görmək bilməz. 571 00:40:31,750 --> 00:40:38,910 Amma Kayahan üçün URL göstərmək əgər, Bu, həqiqətən, yalnız mənbə URL deyil. 572 00:40:38,910 --> 00:40:43,800 Bu olmaqla URL əvvəl deyil nə JavaScript scripts tərəfindən redaktə 573 00:40:43,800 --> 00:40:45,350 onlar gedən. 574 00:40:45,350 --> 00:40:52,420 Və bu müxtəlif baxmaq olacaq element yoxlanılması. 575 00:40:52,420 --> 00:40:55,940 >> Belə ki, keçir və əgər Inspect Element uyğun 576 00:40:55,940 --> 00:41:00,340 mənbə kodu kodu, bu həqiqətən fərqli olacaq. 577 00:41:00,340 --> 00:41:05,640 Bu niyə Nokogiri mahiyyətcə dinamik dolu saytlar əngəl deyil. 578 00:41:05,640 --> 00:41:08,810 Nokogiri Çünki mənbə URL qaşınma, 579 00:41:08,810 --> 00:41:16,310 Kimono əslində isə Əgər mahiyyətcə olduğunuz qaşınma 580 00:41:16,310 --> 00:41:18,260 Select Element görən. 581 00:41:18,260 --> 00:41:23,880 >> Beləliklə, mən vasitəsilə və mən getmək əgər cəhd və Kimonofy Kayak, 582 00:41:23,880 --> 00:41:26,600 Mən, həqiqətən, ilə getmək olar və qiymət seçin. 583 00:41:26,600 --> 00:41:32,360 Bu, bir az çətindir və bu halda, bu 584 00:41:32,360 --> 00:41:36,600 həqiqətən bu qiymət görən bu kimi fərqli. 585 00:41:36,600 --> 00:41:41,110 Siz configure-- bilər, halbuki belə və ya Bu dinamik dolu deyil, əgər, 586 00:41:41,110 --> 00:41:43,620 Siz Nokogiri konfiqurasiya edə bilər bütün bu almaq üçün. 587 00:41:43,620 --> 00:41:48,230 >> Biçimlendirme az Çünki bu liste üçün müxtəlif 588 00:41:48,230 --> 00:41:51,280 Bu qalan müqayisədə kimi Onların, və burada görə bilərsiniz 589 00:41:51,280 --> 00:41:54,830 bu, həqiqətən getdi və Seçilmiş bütün uçuş qiymətləri. 590 00:41:54,830 --> 00:42:01,200 Bəlkə seçin istəyirəm eləcə də uçuş vaxtı. 591 00:42:01,200 --> 00:42:04,700 Mən ilə getmək olar və sort ki yapılandırın. 592 00:42:04,700 --> 00:42:06,950 Hesab edirəm ki, istəmirəm. 593 00:42:06,950 --> 00:42:10,200 Mən yalnız növbəti uçuş vaxt istəyirəm. 594 00:42:10,200 --> 00:42:17,030 Və sonra bu bir neçə sonra keçir, bu şəkil olur. 595 00:42:17,030 --> 00:42:19,080 Belə ki, Kimono olduqca ağıllı. 596 00:42:19,080 --> 00:42:21,900 Yalnız kifayət qədər güclü deyil. 597 00:42:21,900 --> 00:42:26,710 >> Bəzi digər var istifadə edə bilərsiniz alternativ. 598 00:42:26,710 --> 00:42:31,600 Mən burada onlara göstərmək lazımdır. 599 00:42:31,600 --> 00:42:35,790 Siz daha rahat, əgər Əvəzinə bəlkə Yaqut Python, 600 00:42:35,790 --> 00:42:39,290 kitabxana var Beautiful Soup çağırıb. 601 00:42:39,290 --> 00:42:40,430 Siz istifadə edə bilərsiniz. 602 00:42:40,430 --> 00:42:42,270 Bu Nokogiri çox oxşar. 603 00:42:42,270 --> 00:42:44,620 Bu bir neçə xüsusiyyətləri vardır. 604 00:42:44,620 --> 00:42:52,160 Siz HTML tag tapa bilərsiniz və sonra hərəkət və ya yan hərəkət. 605 00:42:52,160 --> 00:42:54,690 >> PyQt var. 606 00:42:54,690 --> 00:42:57,820 Bu, həqiqətən, dinamik əngəl ola bilər sites, bu cür çünki 607 00:42:57,820 --> 00:43:02,540 olmaq iddia edən bir WebKit deyil faktiki olaraq bir browser 608 00:43:02,540 --> 00:43:03,670 bir browser olan. 609 00:43:03,670 --> 00:43:07,490 Belə ki, bütün gözləmək olardı JavaScript sonra ilk yük, və 610 00:43:07,490 --> 00:43:09,560 getmək və cəhd və site qaşımaq. 611 00:43:09,560 --> 00:43:13,560 >> Siz Ruby ilə qalmaq istəyirsinizsə, Nokogiri bir səviyyədə getmək olar. 612 00:43:13,560 --> 00:43:17,650 Siz Capybara istifadə edə bilərsiniz bir Poltergeist banderol. 613 00:43:17,650 --> 00:43:22,910 Bu həqiqətən bilərsiniz mahiyyətcə eyni şey 614 00:43:22,910 --> 00:43:26,610 PyQt kimi olan bir WebKit edir. 615 00:43:26,610 --> 00:43:29,610 Bu gözləyir JavaScript ilk yüklemek üçün. 616 00:43:29,610 --> 00:43:33,340 Əgər kifayət qədər onunla ətrafında skripka varsa, Siz hətta şeyi basın əldə edə bilərsiniz. 617 00:43:33,340 --> 00:43:42,780 >> Bir link var, əgər Belə ki, klassik href olduğu deyil 618 00:43:42,780 --> 00:43:46,350 yol asan və Bu algılar bir JavaScript şey 619 00:43:46,350 --> 00:43:49,490 bir klik, həqiqətən bunu edə bilərsiniz. 620 00:43:49,490 --> 00:43:53,430 daha məşhur kitabxana bir istifadəçi simülasyonu üçün 621 00:43:53,430 --> 00:43:56,390 PhantomJS JavaScript edir. 622 00:43:56,390 --> 00:44:01,010 Bu açıq-aydın dinamik əngəl ola bilər sites bu mahiyyətcə çünki 623 00:44:01,010 --> 00:44:04,270 Chrome olmaq iddiasında istifadəçi interfeysi olmadan. 624 00:44:04,270 --> 00:44:09,970 >> Və sonra, əlbəttə ən Sağlam, lakin yavaş seçimi 625 00:44:09,970 --> 00:44:13,260 bir Selenium browser avtomatlaşdırılması deyil. 626 00:44:13,260 --> 00:44:15,550 Və təəssüf ki, olmaq fikrində deyilik 627 00:44:15,550 --> 00:44:19,770 Sizin CS50 IDE ərzində bunu edə. 628 00:44:19,770 --> 00:44:24,140 Mahiyyətcə nə çünki ki, Sizin Chrome up çəkmələr 629 00:44:24,140 --> 00:44:27,090 Firefox, nə browser istifadə etmək istəyirəm ki, 630 00:44:27,090 --> 00:44:32,570 və siçan bəlkə izler siz yazın nə hərəkət, 631 00:44:32,570 --> 00:44:35,170 və yalnız sort Bu prosesi avtomatik. 632 00:44:35,170 --> 00:44:42,070 Belə ki, bir növ kimi inkişaf etmişdir veb avtomatlaşdırılması test vasitədir. 633 00:44:42,070 --> 00:44:45,910 Lakin bir çox insanlar istifadə Web qaşımaq üçün selenium 634 00:44:45,910 --> 00:44:49,990 onlar başqa bir var ki, Çətinlik çox qaşınma 635 00:44:49,990 --> 00:44:53,700 bu digər, daha sürətli alətləri bəzi. 636 00:44:53,700 --> 00:44:57,530 >> Belə ki, mən web qaşımaq üçün var bütün var. 637 00:44:57,530 --> 00:44:58,090 Əylənin. 638 00:44:58,090 --> 00:45:01,762 639 00:45:01,762 --> 00:45:02,680 >> Auditoriya: Sual. 640 00:45:02,680 --> 00:45:04,016 >> ROBERT KRABEK: Bəli. 641 00:45:04,016 --> 00:45:12,840 >> Auditoriya: hash bir mexanizm varmı web site belə əsasən bilər 642 00:45:12,840 --> 00:45:14,207 sonra keçir. 643 00:45:14,207 --> 00:45:15,040 ROBERT KRABEK: Bəli. 644 00:45:15,040 --> 00:45:21,530 Belə ki, biz qoymaq bizim Məsələn, onların hər ikisi üçün, 645 00:45:21,530 --> 00:45:24,980 biz doc daxil bütün web qoymaq. 646 00:45:24,980 --> 00:45:31,260 Və belə ki, həqiqətən, yalnız bilər dəyişən doc bir fayl yazmaq və. 647 00:45:31,260 --> 00:45:35,490 Mən istəyirdi Belə ki, mən bilər HTML faylı olaraq onu yazmaq, 648 00:45:35,490 --> 00:45:39,280 və istifadə sonra əvəzinə OpenURI və cURL tələbi 649 00:45:39,280 --> 00:45:43,520 sonra mən yalnız doc aça bilər HTML və sonra üçün axtarış. 650 00:45:43,520 --> 00:45:47,960 >> Auditoriya: Amma qorumaq bilər online təcrübə sort 651 00:45:47,960 --> 00:45:48,930 Siz offline isə. 652 00:45:48,930 --> 00:45:51,013 Misal üçün. zaman etdiyiniz bir neçə saat uçan, 653 00:45:51,013 --> 00:45:54,070 Mən əsasən arxiv istəyirəm bütün haqqinda. [Işitilemez] 654 00:45:54,070 --> 00:45:58,780 >> ROBERT KRABEK: Bəli, ki exactly-- var belə sözün nə bu 655 00:45:58,780 --> 00:46:03,010 hər şeyi alaraq ki, bu URL olardı. 656 00:46:03,010 --> 00:46:11,280 Biz Curl qaçdı Belə ki, bu Bu HTML bütün alaraq, 657 00:46:11,280 --> 00:46:14,590 və onu saxlanılması var dəyişən doc daxilində. 658 00:46:14,590 --> 00:46:17,290 Beləliklə siz edə bilərsiniz nə Siz doc ilə etmək istəyirəm. 659 00:46:17,290 --> 00:46:18,575 Siz bir fayl çıxış ola bilər. 660 00:46:18,575 --> 00:46:19,950 Auditoriya: Amma bu qədər bağlı deyil. 661 00:46:19,950 --> 00:46:20,780 Bu dinamik deyil. 662 00:46:20,780 --> 00:46:22,770 Bu doğru deyil, recursive var? 663 00:46:22,770 --> 00:46:24,016 Mən demək nə görmək? 664 00:46:24,016 --> 00:46:28,359 Mən əsasən sort bir hash çalışıram Mənim sabit bütün veb 665 00:46:28,359 --> 00:46:31,150 mən əsasən bunu edə bilər ki, internet olmadan bir neçə saat. 666 00:46:31,150 --> 00:46:32,025 >> ROBERT KRABEK: Sağ. 667 00:46:32,025 --> 00:46:37,140 Mən had-- Belə ki, əgər belə mənim fayl I / O var? 668 00:46:37,140 --> 00:46:47,766 Belə ki, bu fayl I / O. Belə ki, əvəzinə demək Bu, mən bu craigslist.html çağırırıq. 669 00:46:47,766 --> 00:46:52,620 670 00:46:52,620 --> 00:46:53,940 Hesab edirəm ki, açmaq ediyorum. 671 00:46:53,940 --> 00:46:59,020 Mən onu qoyur doc ediyorum. 672 00:46:59,020 --> 00:47:00,470 Mən fayl bağlayın. 673 00:47:00,470 --> 00:47:05,410 Və sonra yalnız çünki CS50 IDE ki, bulud nə var edir. 674 00:47:05,410 --> 00:47:07,710 Mən burada edə bilərsiniz. 675 00:47:07,710 --> 00:47:09,320 Mən fayl yükləyə bilərsiniz. 676 00:47:09,320 --> 00:47:11,830 Və sonra mənim sabit olacaq. 677 00:47:11,830 --> 00:47:13,930 Belə ki, yol edə bilərsiniz. 678 00:47:13,930 --> 00:47:18,830 Evdə etdiyiniz və ya, istifadə CS50 IDE, Sublime ya bir şey kimi, 679 00:47:18,830 --> 00:47:21,900 Bu, çünki, daha asandır Bu, yerli bütün mövcud deyil 680 00:47:21,900 --> 00:47:23,020 internet bağlı deyil. 681 00:47:23,020 --> 00:47:24,720 >> Auditoriya: Mən görürəm. 682 00:47:24,720 --> 00:47:26,580 Bu müəyyən bir problem üçün. 683 00:47:26,580 --> 00:47:30,410 Ki, recursively bunu edə bilərsiniz bir neçə qat dərin cür şey getmək? 684 00:47:30,410 --> 00:47:33,801 >> ROBERT KRABEK: I qovluq yükləyə bilərsiniz ki, sanki yaxşı, xahiş edirik nə. 685 00:47:33,801 --> 00:47:34,426 Auditoriya: Bəli. 686 00:47:34,426 --> 00:47:39,890 687 00:47:39,890 --> 00:47:41,440 >> ROBERT KRABEK: Cool. 688 00:47:41,440 --> 00:47:43,182