1 00:00:00,000 --> 00:00:03,234 >> [เล่นเพลง] 2 00:00:03,234 --> 00:00:05,275 3 00:00:05,275 --> 00:00:06,400 โรเบิร์ต KRABEK: สวัสดีครับ 4 00:00:06,400 --> 00:00:09,980 ชื่อของฉันคือโรเบิร์ต Krabek และ ฉันจะสอนพวกคุณ 5 00:00:09,980 --> 00:00:15,470 วิธีการขูดเว็บด้วย Nokogiri ซึ่งเป็นห้องสมุดทับทิม 6 00:00:15,470 --> 00:00:17,566 และชุดกิโมโนซึ่งเป็นส่วนขยายของ Chrome 7 00:00:17,566 --> 00:00:20,940 8 00:00:20,940 --> 00:00:25,010 >> ดังนั้นก่อนมี สิ่งที่สองที่คุณ 9 00:00:25,010 --> 00:00:28,790 จะทำอย่างไรหากบางทีคุณอาจจะได้รับ ทำ psets ทั้งหมดเพื่อให้ห่างไกล 10 00:00:28,790 --> 00:00:31,170 และพื้นที่ทำงานของคุณคือ ได้รับเพียงเล็กน้อยเต็มรูปแบบ 11 00:00:31,170 --> 00:00:37,060 เราจริงก็สามารถไปและ สร้างพื้นที่ทำงานใหม่สำหรับคุณ 12 00:00:37,060 --> 00:00:41,220 เพียงแค่ทำโครงการแบรนด์ใหม่ใน 13 00:00:41,220 --> 00:00:46,160 ดังนั้นหากคุณต้องการดำเนินการต่อ การทำงานใน CS50 ID แม่แบบ 14 00:00:46,160 --> 00:00:49,080 ขณะที่คุณมี รู้สึกฟรีและคุณก็สามารถ 15 00:00:49,080 --> 00:00:54,700 ติดตั้ง Nokogiri กับ CFLAGS อัญมณี equals-- ติดตั้ง nokogiri 16 00:00:54,700 --> 00:00:56,930 แต่อย่างอื่นฉันจะแสดงให้คุณเห็น วิธีการตั้งค่าใหม่ขึ้น 17 00:00:56,930 --> 00:01:01,210 และแล้วนี้เป็นหลัก วางล้อการฝึกอบรมเพิ่มเติม 18 00:01:01,210 --> 00:01:07,120 และคุณเข้ารหัสเช่นถ้าคุณเป็น เพียงแค่เขียนโปรแกรมใน Sublime หรือสิ่งที่ 19 00:01:07,120 --> 00:01:12,365 ดังนั้นหากเราเปลี่ยนมันมากกว่า 20 00:01:12,365 --> 00:01:14,930 21 00:01:14,930 --> 00:01:18,690 >> ดังนั้นพูดนี้เป็นปัจจุบัน CS 50 ID 22 00:01:18,690 --> 00:01:21,490 คุณก็สามารถไป Cloud9 ที่นี่ 23 00:01:21,490 --> 00:01:22,725 คุณสามารถไปที่แผงควบคุมของคุณ 24 00:01:22,725 --> 00:01:26,720 25 00:01:26,720 --> 00:01:29,950 มันควรจะนำแท็บพื้นที่ทำงาน 26 00:01:29,950 --> 00:01:32,980 และจากนั้นคุณก็สามารถคลิก ที่นี่สร้างพื้นที่ทำงานใหม่ 27 00:01:32,980 --> 00:01:37,600 ชื่อพื้นที่ทำงานใหม่ของคุณ อาจจะทดสอบหรือขูด 28 00:01:37,600 --> 00:01:42,700 และจากนั้นคลิกแท็บนี้เองที่นี่ แทนการ CS50 แท็บแม่แบบ 29 00:01:42,700 --> 00:01:45,155 และจากนั้นคุณก็สามารถไป และสร้างพื้นที่ทำงานใหม่ 30 00:01:45,155 --> 00:01:48,280 >> ผมได้สร้างพื้นที่ทำงานที่นี่ 31 00:01:48,280 --> 00:01:50,640 ดังนั้นเราจะได้ร่วมงานกับนี้ 32 00:01:50,640 --> 00:01:55,380 และถ้าคุณสร้างขึ้นใหม่ พื้นที่ทำงานให้กับแท็บกำหนดเอง 33 00:01:55,380 --> 00:02:04,560 คุณก็สามารถพิมพ์อัญมณีติดตั้ง nokogiri ซึ่งไม่ได้ไปที่นี่ 34 00:02:04,560 --> 00:02:06,230 ตกลงมันเป็นเรื่องเล็ก ๆ น้อย ๆ แช่แข็ง 35 00:02:06,230 --> 00:02:08,979 แต่คุณสามารถพิมพ์อัญมณีติดตั้ง nokogiri 36 00:02:08,979 --> 00:02:15,970 และที่ควรจะเป็นสิ่งที่ ที่มีการติดตั้ง 37 00:02:15,970 --> 00:02:20,590 >> ที่ผมกล่าวก่อนถ้าคุณยังคง ทำงานใน ID CS50 แม่แบบของคุณ 38 00:02:20,590 --> 00:02:30,270 คุณเพียงแค่ต้องพิมพ์ CFLAGS เท่ากับอัญมณีติดตั้ง nokogiri 39 00:02:30,270 --> 00:02:33,130 และฉันได้ติดตั้งไว้แล้ว ที่นี่ดังนั้นฉันจะไม่ทำอย่างนั้น 40 00:02:33,130 --> 00:02:38,500 แต่สำหรับผู้ที่ต่อไปนี้ พร้อมความรู้สึกอิสระที่จะทำเช่นนั้น 41 00:02:38,500 --> 00:02:46,000 >> ดังนั้นเมื่อคุณได้มีคุณ Nokogiri ติดตั้งพื้นที่ทำงานหรือห้องสมุด 42 00:02:46,000 --> 00:02:49,500 ฉันจะให้คุณนิด ๆ หน่อย ๆ ของหลักสูตรความผิดพลาดในไวยากรณ์ทับทิม 43 00:02:49,500 --> 00:02:53,380 เพราะ Nokogiri เป็นห้องสมุดทับทิม 44 00:02:53,380 --> 00:03:03,710 ดังนั้นคุณจะต้องรู้พื้นฐานบางอย่าง ไวยากรณ์ทับทิมสำหรับการทำงานกับ Nokogiri 45 00:03:03,710 --> 00:03:08,750 ดังนั้นความแตกต่างขั้นพื้นฐาน จากสิ่งที่คุณกำลังใช้ 46 00:03:08,750 --> 00:03:13,370 บางทีถ้าคุณได้รับการทำงาน เพื่อให้ห่างไกลในเวลาเพียงซีและ PHP, 47 00:03:13,370 --> 00:03:16,010 คุณประกาศตัวแปรชนิดที่ไม่มี 48 00:03:16,010 --> 00:03:19,720 คุณไม่ได้ใช้อัฒภาค ซึ่งเป็นชนิดของความโล่งอก 49 00:03:19,720 --> 00:03:25,480 มีวงเล็บไม่มีตอนนี้รอบ หรือในขณะที่ลูปเช่น 50 00:03:25,480 --> 00:03:29,460 คุณเพียงแค่ต้องบล็อกของรหัสและ แล้วคุณจะหมดสิ้นในตอนท้ายของว่า 51 00:03:29,460 --> 00:03:32,380 มีไม่บวกบวก หรือลบลบดังนั้นเพียงแค่ 52 00:03:32,380 --> 00:03:36,180 รู้ว่าเมื่อ คุณกำลังทำสำหรับลูป 53 00:03:36,180 --> 00:03:38,620 เพียงเท่ากับบวกและลบเท่ากับ 54 00:03:38,620 --> 00:03:43,310 และแทนที่จะกัญชารวมถึง คุณจะต้องใช้แล้ว 55 00:03:43,310 --> 00:03:47,755 ห้องสมุดสิ่งที่พยายาม โหลดลงในโปรแกรมของคุณ 56 00:03:47,755 --> 00:03:51,610 57 00:03:51,610 --> 00:03:53,430 >> ทับทิมไม่ได้เป็นภาษาที่รวบรวม 58 00:03:53,430 --> 00:03:55,550 เพื่อให้เป็นความโล่งใจอีก 59 00:03:55,550 --> 00:03:59,350 มันมากขึ้นคล้ายกับ PHP ที่ มันเป็นภาษาตีความ 60 00:03:59,350 --> 00:04:03,570 คุณสามารถเรียกใช้สคริปต์ใด ๆ ที่ทับทิม คุณเขียนด้วยทับทิมตาม 61 00:04:03,570 --> 00:04:07,380 โดยใช้ชื่อของสคริปต์หรือโปรแกรมของคุณ 62 00:04:07,380 --> 00:04:13,000 ที่มีความหมายว่ามันเป็นโปรแกรมที่ทับทิม คุณเพียงแค่จบด้วย .rb แทน .c 63 00:04:13,000 --> 00:04:17,440 และมีตัวแปร อาร์เรย์กลางในทับทิม 64 00:04:17,440 --> 00:04:23,200 ซึ่งมีความสะดวกสุดเมื่อคุณอยู่ ขูดและบางทีอาจจะต้องการที่จะผนวก 65 00:04:23,200 --> 00:04:26,090 ข้อมูลที่คุณได้คัดลอกมาเป็นอาร์เรย์ 66 00:04:26,090 --> 00:04:31,960 คุณจะได้ไม่ต้อง malloc อาร์เรย์ใหม่และ คัดลอกอาร์เรย์เก่าเข้าไปในแถวใหม่ 67 00:04:31,960 --> 00:04:36,150 คุณก็สามารถผนวกกับ ทั้งสองสัญญาณลูกศร 68 00:04:36,150 --> 00:04:39,820 และมีตัวอักษรไม่มี เพียงสตริงตัวอักษรเดียว 69 00:04:39,820 --> 00:04:44,760 ดังนั้นที่ควรจะง่ายขึ้นเล็กน้อย 70 00:04:44,760 --> 00:04:50,130 >> ดังนั้นเราก็จะให้คุณบาง ตัวอย่างบางส่วนของไวยากรณ์ทับทิมพื้นฐาน 71 00:04:50,130 --> 00:04:57,100 ดังนั้นที่นี่คุณสามารถเห็นได้ว่าแทน เฉือนเฉือนที่จะแสดงความคิดเห็นในทับทิม 72 00:04:57,100 --> 00:04:58,740 คุณเพียงแค่ใช้เครื่องหมายปอนด์ 73 00:04:58,740 --> 00:05:04,990 และการประกาศตัวแปรคุณ เพียงแค่พิมพ์เท่ากับตัวแปร 74 00:05:04,990 --> 00:05:07,971 สิ่งที่คุณต้องการตัวแปรที่จะ 75 00:05:07,971 --> 00:05:09,220 พวกเขาสามารถเป็นสตริง 76 00:05:09,220 --> 00:05:14,120 คุณสามารถมีอาร์เรย์ที่ คุณเติมที่มีค่า 77 00:05:14,120 --> 00:05:17,240 ทำให้และภาพพิมพ์ที่มีความคล้ายคลึง 78 00:05:17,240 --> 00:05:20,110 สำหรับวัตถุประสงค์ของเราที่ ความแตกต่างเพียงอย่างเดียวคือจริงๆ 79 00:05:20,110 --> 00:05:25,500 ที่ทำให้ซึ่งย่อมาจาก ทำให้เพียงแค่ทำให้บรรทัดใหม่ 80 00:05:25,500 --> 00:05:27,440 ตัวอักษรในสิ่งที่คุณกำลังพิมพ์ 81 00:05:27,440 --> 00:05:30,980 >> ดังนั้นถ้าเราให้มีขนาดเล็ก การสาธิตที่นี่ 82 00:05:30,980 --> 00:05:41,800 เราสามารถทำงานนี้ with-- เปิดอาคารผู้โดยสารแห่งใหม่ 83 00:05:41,800 --> 00:05:46,020 คุณสามารถมองเห็นสิ่งเหล่านี้ ไฟล์ที่อยู่ในขั้วของฉัน 84 00:05:46,020 --> 00:05:50,960 และถ้าฉันเพียงแค่เรียกใช้ ทับทิมทับทิม intro.rb มัน 85 00:05:50,960 --> 00:05:53,530 ทำให้ออกห้าสวัสดี ท้องควินซีและตัวแทนจำหน่าย 86 00:05:53,530 --> 00:05:54,410 อดัมส์ 87 00:05:54,410 --> 00:05:59,295 นั่นคือทั้งหมดที่มี เพื่อประกาศอาร์เรย์ 88 00:05:59,295 --> 00:06:01,670 ผู้ชม: โรเบิร์ตที่คุณสามารถทำ ตัวอักษรเล็ก ๆ น้อย ๆ ของคุณใหญ่? 89 00:06:01,670 --> 00:06:02,461 โรเบิร์ต KRABEK: ใช่ 90 00:06:02,461 --> 00:06:05,370 91 00:06:05,370 --> 00:06:12,280 และฉันสามารถซูมเข้าเพราะคุณไม่สามารถ ซูมเข้าขั้วแบบอักษรที่เห็นได้ชัด 92 00:06:12,280 --> 00:06:18,790 93 00:06:18,790 --> 00:06:24,630 >> เพื่อให้เป็นวิธีที่คุณพิมพ์ ตัวแปรไปยังสถานีของคุณ 94 00:06:24,630 --> 00:06:28,820 นอกจากนี้คุณยังสามารถใช้ ตัวแปรภายในสตริง 95 00:06:28,820 --> 00:06:33,720 ดังนั้นเมื่อเร็ว ๆ นี้ใน PHP คุณอาจได้เรียนรู้ 96 00:06:33,720 --> 00:06:37,340 ว่ามีการแก้ไขสตริง 97 00:06:37,340 --> 00:06:43,830 ดังนั้นถ้าคุณใช้เวลาดูที่นี่ถ้าฉัน ประกาศสามตัวแปรชื่อห้องสมุด 98 00:06:43,830 --> 00:06:49,700 และภาษาและฉันทำให้ฉัน เขียนสตริงสวัสดีชื่อของฉันคือ 99 00:06:49,700 --> 00:06:54,190 และจากนั้นแทนของ PHP รุ่นของการแก้ไขสตริง 100 00:06:54,190 --> 00:06:58,960 ซึ่งมีลักษณะเล็ก ๆ น้อย ๆ เช่นนี้ คุณมีเครื่องหมายปอนด์แล้ว 101 00:06:58,960 --> 00:07:01,220 รั้งหยิกแล้ว ชื่อของตัวแปร 102 00:07:01,220 --> 00:07:07,350 และนั่นคือวิธีที่คุณต้องการพิมพ์พูดว่า สิ่งที่ชื่อตัวแปร 103 00:07:07,350 --> 00:07:10,140 >> และจากนั้นคุณยังสามารถ concatenate สตริง 104 00:07:10,140 --> 00:07:12,890 ทับทิมทำให้มันสุด ง่ายด้วยเครื่องหมายบวก 105 00:07:12,890 --> 00:07:16,110 คุณเพียงแค่หนึ่งสาย ด้านซ้ายบวกตัวแปร 106 00:07:16,110 --> 00:07:18,860 หรือสตริงอื่นบวกสตริง 107 00:07:18,860 --> 00:07:23,500 ดังนั้นถ้าผมพิมพ์นี้ออกที่ควร เพียงแค่พูดว่าสวัสดีชื่อของฉันคือโรเบิร์ต 108 00:07:23,500 --> 00:07:27,340 ฉันจะสามารถสอนคุณ nokogiri ในทับทิม 109 00:07:27,340 --> 00:07:35,370 >> และขอยืนยันว่าเพียงแค่ว่า แน่นอนเป็น case-- บทนำทับทิม 110 00:07:35,370 --> 00:07:36,480 สวัสดีชื่อของฉันคือโรเบิร์ต 111 00:07:36,480 --> 00:07:40,160 ฉันจะสามารถสอนคุณ nokogiri ในทับทิม 112 00:07:40,160 --> 00:07:45,600 >> ย้ายถ้างบอื่น มันแตกต่างกันเล็กน้อย 113 00:07:45,600 --> 00:07:49,800 จากสิ่งที่คุณอาจจะใช้ในการ ถ้าคุณได้รับการทำงานใน C. 114 00:07:49,800 --> 00:07:53,200 คุณไม่จำเป็นต้องวงเล็บ 115 00:07:53,200 --> 00:07:55,220 คุณไม่จำเป็นต้องวงเล็บปีกกา 116 00:07:55,220 --> 00:08:00,170 และแทนที่จะอื่นถ้า, มันเป็น elsif ตัดแบ่ง 117 00:08:00,170 --> 00:08:07,260 ดังนั้นในที่นี่ถ้าฉันได้ประกาศ x ขึ้น ที่นี่เป็นเราสามารถมองเห็นยังคง x 5 118 00:08:07,260 --> 00:08:11,100 ดังนั้นถ้า x น้อยกว่า 3 ก็จะใส่ขนาดเล็ก 119 00:08:11,100 --> 00:08:14,030 ถ้ามันน้อยกว่า 7, กลาง, ขนาดใหญ่อื่น ๆ 120 00:08:14,030 --> 00:08:17,340 ดังนั้น 5 เป็นจำนวนกลาง 121 00:08:17,340 --> 00:08:22,270 และผมจบบล็อกของรหัสด้วยเหตุนี้ 122 00:08:22,270 --> 00:08:24,920 >> นี่ฉันเป็นห่วง 123 00:08:24,920 --> 00:08:28,240 และรูปแบบนี้ยังเป็น แตกต่างกันเล็กน้อย 124 00:08:28,240 --> 00:08:33,500 0 ถึงห้าเพียงเป็นหลัก มีการประกาศอาร์เรย์ 0 ถึง 5 125 00:08:33,500 --> 00:08:36,120 ดังนั้นจึงมีห้าช่องในอาร์เรย์ 126 00:08:36,120 --> 00:08:40,500 และแล้วสำหรับช่องในการที่แต่ละ อาร์เรย์ผมจะ incrementing ฉัน 127 00:08:40,500 --> 00:08:46,080 ดังนั้นควรพิมพ์ 0-5 หรือ 0-4 128 00:08:46,080 --> 00:08:49,630 และนี่ควรพิมพ์กลาง 129 00:08:49,630 --> 00:08:51,370 >> และฉันก็จะลุกโชนผ่าน 130 00:08:51,370 --> 00:08:54,466 พวกคุณจะมีการเข้าถึง รหัสนี้ในภายหลัง 131 00:08:54,466 --> 00:08:55,965 ดังนั้นพวกคุณสามารถทำงานได้ด้วยตัวเองนี้ 132 00:08:55,965 --> 00:09:02,090 133 00:09:02,090 --> 00:09:06,620 >> ดังนั้นนี้เป็นห่วงในขณะที่พื้นฐานของคุณ 134 00:09:06,620 --> 00:09:12,230 เพียงแค่นี้ก็จะได้รับการพิมพ์เจ การเพิ่มขึ้น 1 จนกว่าเราจะตี 5 135 00:09:12,230 --> 00:09:18,320 >> ซูเปอร์หลักสูตรความผิดพลาดทับทิมอย่างรวดเร็ว เกี่ยวกับวิธีการเขียนฟังก์ชั่น 136 00:09:18,320 --> 00:09:24,460 แทนการพูด, int ปัจจัย จำนวนเราก็มีความละเอียด 137 00:09:24,460 --> 00:09:28,450 และเป็นหลักคุณ กำหนดฟังก์ชั่นที่นี่ 138 00:09:28,450 --> 00:09:30,600 นี้จะเป็น ชื่อของฟังก์ชั่น 139 00:09:30,600 --> 00:09:34,280 และนี่คือตัวแปรใด ๆ ที่คุณ ต้องการที่จะผ่านเข้าสู่ฟังก์ชั่น 140 00:09:34,280 --> 00:09:36,760 คุณสามารถมีถ้างบภายใน 141 00:09:36,760 --> 00:09:38,030 คุณสามารถกลับ 142 00:09:38,030 --> 00:09:42,620 ในกรณีนี้เรา กำหนดซ้ำ 143 00:09:42,620 --> 00:09:45,000 ฟังก์ชั่นการใช้งานปัจจัย 144 00:09:45,000 --> 00:09:48,660 ดังนั้นเราก็เรียกฟังก์ชั่น ในทับทิมเช่นนี้ 145 00:09:48,660 --> 00:09:54,700 >> ดังนั้นถ้าผมได้กำหนดไว้นี้ผม สามารถโทรปัจจัยผ่านใน 3, 146 00:09:54,700 --> 00:09:59,700 และจากนั้นจะมี 3 ตัวแปรจำนวน ที่ฉันสามารถใช้ฟังก์ชั่นภายใน 147 00:09:59,700 --> 00:10:08,010 และ to_s นี้เป็นเพียงการเปลี่ยน กลับค่าของปัจจัยเป็นสตริง 148 00:10:08,010 --> 00:10:10,760 มิฉะนั้นนี้จะโยน ข้อผิดพลาดว่าโอ้ฉัน 149 00:10:10,760 --> 00:10:13,230 ไม่สามารถพิมพ์ string-- เพราะในขณะที่คุณจำได้ 150 00:10:13,230 --> 00:10:18,230 ทำให้ใส่ string-- เพราะ ปัจจัยได้กลับมาเป็นจำนวนมาก 151 00:10:18,230 --> 00:10:21,850 ดังนั้นเราจึงสามารถแปลงที่ สตริงเหมือนเช่น 152 00:10:21,850 --> 00:10:27,856 และตรงกันข้ามคุณยังสามารถแปลง สตริงเป็นจำนวนเต็มกับ to_i 153 00:10:27,856 --> 00:10:32,650 >> ดังนั้นทำให้ทุกอย่างง่ายสุด ถ้าฉันเพียงแค่แสดงความคิดเห็นออกมาบันทึก 154 00:10:32,650 --> 00:10:36,250 และเรียกใช้ฟังก์ชันปัจจัย 155 00:10:36,250 --> 00:10:39,850 เราควรจะสามารถมองเห็น ปัจจัยที่ 3 คือ 6 156 00:10:39,850 --> 00:10:42,790 และนั่นเป็นความจริง 157 00:10:42,790 --> 00:10:46,160 >> เพื่อให้เป็นหลักสูตรความผิดพลาดของคุณในทับทิม 158 00:10:46,160 --> 00:10:53,550 และตอนนี้ที่คุณรู้ว่าทับทิมที่เราสามารถไปที่ ไปขูด Nokogiri พื้นฐานการตั้งค่า 159 00:10:53,550 --> 00:10:58,190 โดยเฉพาะอย่างยิ่งสิ่งที่คุณต้องทำคือ ในทับทิมต้องใช้ห้องสมุด 160 00:10:58,190 --> 00:11:04,390 และเพื่อวัตถุประสงค์ของเราที่เราจะใช้ ห้องสมุด OpenURI เช่นเดียวกับ Nokogiri 161 00:11:04,390 --> 00:11:07,870 และแล้วสิ่งที่คุณ do-- และมันจะ ให้คุณไวยากรณ์สำหรับ this-- 162 00:11:07,870 --> 00:11:16,010 คุณเปิด URL มากที่สุดเท่าที่คุณจะอยู่ใน คำขอม้วนซึ่งย่อมาจาก URL C 163 00:11:16,010 --> 00:11:20,330 >> ดังนั้นคุณจะใช้ URL ของ เว็บไซต์ในคำถาม 164 00:11:20,330 --> 00:11:22,030 คุณเก็บไว้ในตัวแปร 165 00:11:22,030 --> 00:11:27,400 และจากนั้นคุณสามารถค้นหาผ่านว่า ตัวแปรสำหรับแท็กที่ไม่ซ้ำกันโดยใช้ 166 00:11:27,400 --> 00:11:30,590 คำสั่ง .css 167 00:11:30,590 --> 00:11:34,360 และจากนั้นคุณสามารถส่งออก เนื้อหาทุกที่ที่คุณต้องการ 168 00:11:34,360 --> 00:11:35,720 คุณสามารถเริ่มต้นในฐานข้อมูล 169 00:11:35,720 --> 00:11:42,040 คุณสามารถส่งออกในแฟ้มหรือ แม้เพียงแค่พิมพ์ไปที่หน้าจอ 170 00:11:42,040 --> 00:11:47,290 >> ดังนั้นเราจะแสดงให้คุณมีดโกนพื้นฐาน 171 00:11:47,290 --> 00:11:52,570 ดังนั้นที่นี่คุณสามารถเห็นเรามี ต้อง nokogiri ต้องเปิด URI 172 00:11:52,570 --> 00:11:57,150 ชุดพื้นฐานของคุณขอ เรียกว่าเอกสารหรือ doc, 173 00:11:57,150 --> 00:12:07,780 เท่ากับ Nokogiri :: เปิด HTML ซึ่งเป็น คำสั่งแจ้งกับเราไว้ OpenURI 174 00:12:07,780 --> 00:12:08,920 ห้องสมุด. 175 00:12:08,920 --> 00:12:14,000 และเราจะได้รับการค้นหาสำหรับบรรดาของ ท่านที่อาจจะอาศัยอยู่ในรูปสี่เหลี่ยม, 176 00:12:14,000 --> 00:12:21,270 สำหรับจักรยานที่มีการระบุไว้ในบอสตัน ในบอสตันส่วน Craigslist จักรยาน 177 00:12:21,270 --> 00:12:22,020 เว็บไซต์ 178 00:12:22,020 --> 00:12:26,460 >> ดังนั้นถ้าคุณไม่คุ้นเคย ม้วนกับฉันจะเป็นเพียง 179 00:12:26,460 --> 00:12:28,930 แสดงจริงอย่างรวดเร็วสิ่งที่ม้วนจะทำ 180 00:12:28,930 --> 00:12:38,350 ถ้าผมต้องการที่จะได้รับทั้งหมดของ URL จาก เว็บไซต์ Craigslist ถ้าผมพิมพ์ขด 181 00:12:38,350 --> 00:12:44,950 มันก็ทิ้งทั้งหมดของ URL จากเว็บไซต์ Craigslist จักรยาน 182 00:12:44,950 --> 00:12:46,720 บนขั้วของฉัน 183 00:12:46,720 --> 00:12:49,130 ที่ไม่ได้โดยเฉพาะอย่างยิ่ง ประโยชน์เพราะฉันทำไม่ได้ 184 00:12:49,130 --> 00:12:53,330 ตนเองต้องการที่จะผ่านไปและ พบสิ่งที่ผมกำลังมองหา 185 00:12:53,330 --> 00:13:01,590 แต่เพียงเพื่อให้คุณสามารถ เห็นว่าฉันจริง 186 00:13:01,590 --> 00:13:13,966 ใช้รหัสที่ถูกต้องถ้าคุณดู ที่ URL สำหรับ Craigslist ใน bikes-- 187 00:13:13,966 --> 00:13:17,460 ด้วยเหตุผลบางอย่างก็ไม่ได้พบ 188 00:13:17,460 --> 00:13:20,340 ถ้าคุณดูที่หน้านี้ และคุณมองไปที่ URL ที่ 189 00:13:20,340 --> 00:13:23,970 นี้ควรจะเป็นเหมือน คำขอม้วนท​​ี่ฉันเพียงแค่ส่ง 190 00:13:23,970 --> 00:13:27,700 และแน่นอนว่าเป็นสิ่งที่ถูก เก็บไว้ในตัวแปรหมอ 191 00:13:27,700 --> 00:13:36,540 >> ดังนั้นเมื่อคุณกลับไปที่รหัสของเราเรา จากนั้นสามารถทำงานบนตัวแปร doc นี้ 192 00:13:36,540 --> 00:13:40,660 โดยใช้ .css 193 00:13:40,660 --> 00:13:49,240 เพื่อบอกว่าฉันต้องการที่จะได้รับทั้งหมดของ แท็กที่มี span.txt, 194 00:13:49,240 --> 00:13:51,740 และแท็กภายในแท็กนั้น 195 00:13:51,740 --> 00:13:56,150 และเหตุผลที่เราอาจต้องการที่จะ ทำเช่นนี้ผมได้ยินคุณร้องไห้? 196 00:13:56,150 --> 00:14:02,920 >> ถ้าเราตรวจสอบองค์ประกอบของมันจะช่วยให้คุณ รายละเอียดของวิธีการ URL ที่มีโครงสร้าง 197 00:14:02,920 --> 00:14:06,200 ถ้าผมเลื่อนลงมาผ่าน ที่นี่คุณจะเห็น 198 00:14:06,200 --> 00:14:08,770 สิ่งที่แต่ละคนที่แตกต่างกันเหล่านี้ แสดงให้เห็นถึงองค์ประกอบ 199 00:14:08,770 --> 00:14:13,410 ดังนั้นบางทีผมต้องการที่จะเข้าถึง องค์ประกอบนี้โดยเฉพาะอย่างยิ่ง 200 00:14:13,410 --> 00:14:16,820 ดังนั้นฉันใช้พัฒนาโครเมี่ยม เครื่องมือในการตรวจสอบธาตุ 201 00:14:16,820 --> 00:14:22,970 ฉันสามารถดูลงที่นี่ว่านี้ เป็นแท็กในช่วงที่ 202 00:14:22,970 --> 00:14:26,230 แท็กที่มีระดับของ TXT 203 00:14:26,230 --> 00:14:29,610 >> ดังนั้นนี้ได้รับของเรา ดำเนินการครั้งแรกที่ 204 00:14:29,610 --> 00:14:37,330 เป็นช่วง doc.css ซึ่งเป็นแท็กที่ ฉันกำลังมองหาทั้งหมดภายใน URL นี้ 205 00:14:37,330 --> 00:14:43,650 และแล้ว .txt ดำเนินมากเช่น CSS ไม่เมื่อคุณเพียงแค่เขียน CSS 206 00:14:43,650 --> 00:14:49,630 ในไฟล์ HTML ของคุณโดย ระบุชั้นเรียน 207 00:14:49,630 --> 00:14:57,980 ดังนั้นผู้ประกอบการโดยเฉพาะอย่างยิ่งจะ แท็กระบุช่วงที่มีระดับของ TXT 208 00:14:57,980 --> 00:15:02,800 และแล้วถ้าฉันออกจากพื้นที่ นี้จากนั้นจะไปที่อยู่ในแท็กนั้น 209 00:15:02,800 --> 00:15:05,170 แล้วพบป้ายภายในว่า 210 00:15:05,170 --> 00:15:10,750 >> ดังนั้นถ้าฉันเพียงแค่ใส่นี้ ขั้วที่ฉันควร 211 00:15:10,750 --> 00:15:21,630 จะสามารถเห็นทุกอย่างเป็นหลัก ที่อยู่ในช่วงของการเรียน TXT นี้ 212 00:15:21,630 --> 00:15:22,890 ดังนั้นเราจะให้ไปที่ 213 00:15:22,890 --> 00:15:25,870 214 00:15:25,870 --> 00:15:27,756 ทับทิม Craigslist มีดโกน 215 00:15:27,756 --> 00:15:31,850 216 00:15:31,850 --> 00:15:37,250 และแน่นอนที่ทำให้เราสิ่งเหล่านี้ แท็กของรายการต่างๆที่ 217 00:15:37,250 --> 00:15:40,400 ที่อยู่บนหน้าเว็บ Craigslist 218 00:15:40,400 --> 00:15:45,670 >> ดังนั้นหากเรากลับไปเราสามารถเปิดการทำงานนี้ เป็นสิ่งเล็ก ๆ น้อย ๆ ที่มีประโยชน์มากขึ้น 219 00:15:45,670 --> 00:15:51,050 บางทีเราต้องการเพียงแค่การเชื่อมโยง 220 00:15:51,050 --> 00:15:58,790 เพราะภายในแท็กนี้ฉันจะยัง มีการเชื่อมโยงของเส้นทาง 221 00:15:58,790 --> 00:16:00,590 ที่หน้านี้ไป 222 00:16:00,590 --> 00:16:09,100 ดังนั้นถ้าคุณมองไปที่รหัสนี้ที่นี่ สิ่งที่ผมจะทำคือแทนที่จะ .css, 223 00:16:09,100 --> 00:16:12,380 ฉันสามารถไป at_css 224 00:16:12,380 --> 00:16:16,820 และนี้ก็จะได้รับครั้งแรก องค์ประกอบทั้งหมดของสิ่งเหล่านั้น 225 00:16:16,820 --> 00:16:20,890 ดังนั้นถ้าผมจะทำอย่างนั้นขึ้นมาใน รหัสฉันเพียงแค่แสดงให้เห็นก่อนหน้านี้ 226 00:16:20,890 --> 00:16:23,800 แทนที่จะกลับทั้งหมด นี้มันจะเป็นเพียง 227 00:16:23,800 --> 00:16:26,850 กลับมาครั้งแรกหนึ่งในบรรดา 228 00:16:26,850 --> 00:16:31,310 เพื่อให้เป็นวิธีการทำงานของผู้ประกอบการ at_css 229 00:16:31,310 --> 00:16:39,460 >> ดังนั้นเราจึงต้องการที่จะเก็บ ทุกเส้นทางแรกแท็ก 230 00:16:39,460 --> 00:16:47,430 และเพราะจะทำให้เรา a-- ดังนั้นเรายังคงไปใช้ .css 231 00:16:47,430 --> 00:16:53,830 แต่เพราะเป็นไปเพื่อให้ เรากลับอาร์เรย์ทั้งหมดของแท็ก 232 00:16:53,830 --> 00:16:55,710 เราจะเข้าถึง องค์ประกอบแรก 233 00:16:55,710 --> 00:17:01,700 ดังนั้นนี้เป็นอีกวิธีหนึ่งที่คุณสามารถ เข้าถึงองค์ประกอบใด ๆ โดยเฉพาะอย่างยิ่งถ้าคุณ 234 00:17:01,700 --> 00:17:04,810 มีอาร์เรย์ขององค์ประกอบ ที่จะถูกส่งกลับ 235 00:17:04,810 --> 00:17:11,930 เพราะคุณสามารถรักษาสิ่งที่ ผลตอบแทน .css เป็นอาร์เรย์เป็นหลัก 236 00:17:11,930 --> 00:17:16,880 และจากนั้นเรากำลังจะเข้าสู่ แอตทริบิวต์การอ้างอิงมิตินี้ 237 00:17:16,880 --> 00:17:24,810 >> ดังนั้นถ้าคุณลองดูถ้า คุณมองอย่างใกล้ชิดจริงๆที่นี่ 238 00:17:24,810 --> 00:17:28,270 ถ้าคุณเพียงแค่หลัก มองไปที่แถบ URL, 239 00:17:28,270 --> 00:17:33,880 นี้เป็นเส้นทางที่ คุณกำลังจะได้รับการขูด 240 00:17:33,880 --> 00:17:41,565 ดังนั้นถ้าเราเพียงแค่ทำงานนี้อีกครั้ง และให้แน่ใจว่าเราได้บันทึกไว้ 241 00:17:41,565 --> 00:17:47,040 242 00:17:47,040 --> 00:17:48,300 คุณสามารถตรวจสอบที่บ้าน 243 00:17:48,300 --> 00:17:51,430 นี้ที่จริงตรงกับที่ลิงค์นี้ 244 00:17:51,430 --> 00:17:55,950 >> ดังนั้นทำไมเราอาจต้องการใช้นี้หรือไม่? 245 00:17:55,950 --> 00:17:57,870 หากคุณต้องการที่จะขูด หน้าและมี 246 00:17:57,870 --> 00:18:00,270 หน้าของการเชื่อมโยงเช่น Craigslist ไม่คุณ 247 00:18:00,270 --> 00:18:03,210 อาจต้องการไปแล้ว ในแต่ละเชื่อมโยงเหล่านั้น 248 00:18:03,210 --> 00:18:05,120 แล้วขูด เนื้อหาที่ซึ่ง 249 00:18:05,120 --> 00:18:08,520 เป็นสิ่งที่เรากำลังจะทำ 250 00:18:08,520 --> 00:18:11,660 >> ดังนั้นเมื่อคุณมีเส้นทางเป็น ตัวแปรฉันไม่ได้จริงๆ 251 00:18:11,660 --> 00:18:13,200 ดูแลเกี่ยวกับการพิมพ์มันออกมา 252 00:18:13,200 --> 00:18:15,420 ฉันต้องเก็บไว้เป็นตัวแปร 253 00:18:15,420 --> 00:18:20,980 แล้วฉันสามารถเข้าถึงอื่น หน้าแบบเดียวกับที่ฉันจะเข้าถึง 254 00:18:20,980 --> 00:18:22,260 เอกสารในสถานที่แรก 255 00:18:22,260 --> 00:18:25,920 ยกเว้นที่มี URL ที่เรากำลังจะไป ที่จะใช้การแก้ไขสตริง 256 00:18:25,920 --> 00:18:29,180 เหมือนที่ผมได้รับการอธิบายใน ทับทิมก่อนหน้านี้เมื่อผนวก 257 00:18:29,180 --> 00:18:32,010 เส้นทางไปยังจุดสิ้นสุดของราก 258 00:18:32,010 --> 00:18:38,970 >> ดังนั้นสิ่งนี้เป็นไปที่จะทำคือ นี้จะวางอยู่บนเส้นทาง 259 00:18:38,970 --> 00:18:42,360 ที่ผมคัดลอกมาก่อนหน้านี้ แล้วเปิดที่ 260 00:18:42,360 --> 00:18:49,580 เป็นรายการใหม่, สิ่งที่คุณต้องการ เรียก first_listing it-- ยกตัวอย่างเช่น 261 00:18:49,580 --> 00:18:52,900 แต่ฉันจะออกจาก ได้ในรายการตอนนี้ 262 00:18:52,900 --> 00:18:55,420 เพราะนั่นคือสิ่งที่ฉันใช้ที่นี่ 263 00:18:55,420 --> 00:19:02,900 >> เพื่อบอกว่าฉันต้องการที่จะได้รับรายละเอียด ของการโพสต์ครั้งแรกใน Craigslist 264 00:19:02,900 --> 00:19:04,740 ดังนั้นผมจะไปลงที่นี่ 265 00:19:04,740 --> 00:19:10,660 ฉันจะคลิกที่ตรวจสอบธาตุ อีกครั้งเพราะนี่คือคำอธิบาย 266 00:19:10,660 --> 00:19:14,350 ฉันต้องการไปลงที่นี่และดู ถ้าฉันสามารถหาวิธีการที่ฉันอาจ 267 00:19:14,350 --> 00:19:16,530 สามารถที่จะค้นหาแท็กไม่ซ้ำกันนี้ 268 00:19:16,530 --> 00:19:19,530 และในกรณีนี้ก็มี รหัสซึ่งนำไปสู่​​เรา 269 00:19:19,530 --> 00:19:26,810 วิธีการของเราต่อไปของการค้นหา แท็กซึ่งเป็นที่มี hashtag 270 00:19:26,810 --> 00:19:30,670 >> ดังนั้นสำหรับการเรียนที่คุณสามารถ ใช้ตัวดำเนินการจุด 271 00:19:30,670 --> 00:19:38,610 ดังนั้น .txt มีการระบุระดับของ TXT ที่ ในขณะที่แฮระบุประชาชน 272 00:19:38,610 --> 00:19:43,720 ดังนั้นในกรณีนี้แท็กคือ ส่วนและประชาชนเป็น postingbody 273 00:19:43,720 --> 00:19:47,780 >> ดังนั้นนี้ไปและพบว่า first-- เพราะเรา 274 00:19:47,780 --> 00:19:51,200 ใช้ at_css-- นี้ไปและ พบว่าองค์ประกอบแรกที่ 275 00:19:51,200 --> 00:19:57,180 มากับแท็กของส่วน และประชาชนของ postingbody 276 00:19:57,180 --> 00:20:02,636 และจากนั้นคุณสามารถเข้าถึงองค์ประกอบข้อความ ของรายการที่กลับมาพร้อมกับ .Text 277 00:20:02,636 --> 00:20:06,230 และจากนั้นเราสามารถจัดเก็บ ว่าในรายละเอียด 278 00:20:06,230 --> 00:20:09,370 >> ดังนั้นขณะนี้ที่เรามี คำอธิบายตัวแปร 279 00:20:09,370 --> 00:20:14,850 เราอาจจะสามารถที่จะทำพูด ยื่น I / O ดังนั้นยื่น I / O ในทับทิม 280 00:20:14,850 --> 00:20:21,310 คล้ายกันมากที่จะยื่น I / O ใน C ที่เราเปิดแฟ้ม 281 00:20:21,310 --> 00:20:23,260 เราอาจจะเขียนไป 282 00:20:23,260 --> 00:20:25,060 และจากนั้นเราจะปิดแฟ้มที่ 283 00:20:25,060 --> 00:20:29,660 >> ดังนั้นที่นี่เราเพียงแค่การตั้งชื่อ ไฟล์บางตัวแปรโดยพลการ 284 00:20:29,660 --> 00:20:33,120 นอกจากนี้เรายังจะได้เพียงแค่ใส่ที่นี่ 285 00:20:33,120 --> 00:20:39,630 เรามีตัวแปรที่เรากำลังจัดเก็บ ไฟล์ที่เปิดเช่นเดียวกับ File.open 286 00:20:39,630 --> 00:20:46,370 และเรากำลังเขียนไปยังแฟ้มนี้ ดังนั้นเราจึงเปิดกับผู้ประกอบการเ 287 00:20:46,370 --> 00:20:54,280 และแล้วเราใส่เข้าไปในสตริง ยื่นกับผู้ประกอบการ .puts 288 00:20:54,280 --> 00:20:58,310 และแล้วเราใส่ตัวแปรที่เรา ต้องการที่จะเขียนไปยังแฟ้มภายในว่า 289 00:20:58,310 --> 00:21:00,200 และแล้วเราก็ปิดแฟ้ม 290 00:21:00,200 --> 00:21:04,000 >> ดังนั้นหากเราไปข้างหน้าและทำงานนี้ นี้ควรผลิตเอกสาร 291 00:21:04,000 --> 00:21:10,840 กับ description.txt ซึ่งจะ มีคำอธิบายนี้อยู่ภายใน 292 00:21:10,840 --> 00:21:14,015 ดังนั้นถ้าผมทำงาน it-- ไม่มี 293 00:21:14,015 --> 00:21:17,520 294 00:21:17,520 --> 00:21:23,330 มันผลิตแฟ้มข้อความด้วย หวังว่าสิ่งเดียวกัน 295 00:21:23,330 --> 00:21:25,850 296 00:21:25,850 --> 00:21:33,290 ดังนั้นอาจจะมีการโพสต์ใหม่ ที่เกิดขึ้นในขณะที่ฉันได้รับการพูด 297 00:21:33,290 --> 00:21:36,580 และแน่นอนมันดูเหมือนว่ามีการ 298 00:21:36,580 --> 00:21:43,380 ดังนั้นหากเราไปที่จักรยานคลาสสิกนี้ 1962-1966 ที่ดูเหมือนว่าเพื่อให้ตรงกับ 299 00:21:43,380 --> 00:21:45,620 และมีคุณไป 300 00:21:45,620 --> 00:21:51,250 >> เพื่อให้เป็นพื้นฐานที่สุด การทำงานของการขูด 301 00:21:51,250 --> 00:21:57,510 เราจะได้มีแทน เพียงแค่เขียนไปยังแฟ้มนี้ 302 00:21:57,510 --> 00:21:59,930 เราสามารถเพิ่มสิ่งที่อาร์เรย์ 303 00:21:59,930 --> 00:22:03,770 ดังนั้นถ้าผมประกาศสามอาร์เรย์ ชื่อเรื่องราคาและรายละเอียด 304 00:22:03,770 --> 00:22:06,310 305 00:22:06,310 --> 00:22:13,790 และเรากำลังปฏิบัติการในรายการ doc ในขณะนี้ 306 00:22:13,790 --> 00:22:16,940 เราสามารถผ่านไปและ ค้นหาทั้งหมดของ span.txt 307 00:22:16,940 --> 00:22:21,710 และจำไว้ว่านี้ส่งกลับอาร์เรย์ ของรายการทั้งหมดที่พบ 308 00:22:21,710 --> 00:22:27,300 และจากนั้นในทับทิมคุณก็สามารถใช้ ห้องพักทุกห้องจะย้ำผ่านทุกรายการ 309 00:22:27,300 --> 00:22:28,410 ของอาร์เรย์ 310 00:22:28,410 --> 00:22:31,330 และแล้วสำหรับแต่ละรายการ ฉันแค่ไปที่จะเรียกว่า 311 00:22:31,330 --> 00:22:34,620 การเชื่อมโยงเพราะนั่นคือ เป็นหลักว่ามันคืออะไร 312 00:22:34,620 --> 00:22:46,830 >> ดังนั้นถ้าฉันใส่แต่ละ link.css จุด a.hdrlnk, นี้เป็นจริงจะเชื่อมโยง 313 00:22:46,830 --> 00:22:58,280 และการค้นหาในการเชื่อมโยงอื่นที่ องค์ประกอบ HTML และชั้นที่สอดคล้องกัน 314 00:22:58,280 --> 00:23:04,990 ดังนั้นหากเราจำสิ่งที่ นี้เป็น span.txt ที่ 315 00:23:04,990 --> 00:23:13,160 คุณสามารถ see- ให้ฉันเพียงแค่กลับไป quick-- จริงภายใน span.txt 316 00:23:13,160 --> 00:23:17,490 เรามีจำนวนมากของการเรียนอื่น ๆ 317 00:23:17,490 --> 00:23:27,180 ดังนั้นภายใน span.txt เรากำลังมองหา สำหรับแท็กกับ hdrlnk ชั้นเรียน 318 00:23:27,180 --> 00:23:29,890 เพื่อให้ฉันเพียงพบว่า สำหรับพวกคุณจริงอย่างรวดเร็ว 319 00:23:29,890 --> 00:23:37,390 320 00:23:37,390 --> 00:23:42,850 >> ดังนั้นคุณสามารถดูที่นี่นี้เป็นแท็ก ที่ในช่วงของการเรียน TXT 321 00:23:42,850 --> 00:23:44,920 ที่มี hdrlnk ชั้นเรียน 322 00:23:44,920 --> 00:23:47,610 และนั่นคือสิ่งที่แน่นอน เรากำลังพยายามที่จะได้รับ 323 00:23:47,610 --> 00:23:54,680 >> ดังนั้นตอนนี้เรากำลังพยายามที่จะเก็บทุก ของการเชื่อมโยงผู้ที่อยู่ภายในชื่อ 324 00:23:54,680 --> 00:23:59,545 และจากนั้นเรากำลังจะพิมพ์ ออกในแต่ละของการเชื่อมโยงเหล่านั้น 325 00:23:59,545 --> 00:24:00,360 ไม่ล่ะขอบคุณ. 326 00:24:00,360 --> 00:24:04,530 เรากำลังจะพิมพ์ออกมา ราคาของแต่ละคน 327 00:24:04,530 --> 00:24:09,350 ดังนั้นเรามาทำงานนี้จริงๆ อย่างรวดเร็วและดูสิ่งที่มันไม่ 328 00:24:09,350 --> 00:24:14,680 329 00:24:14,680 --> 00:24:17,720 >> ดังนั้นเพียงแค่นี้โดยทั่วไปไป ผ่านแต่ละของการเชื่อมโยง 330 00:24:17,720 --> 00:24:27,310 ในทางกลับกัน, เข้าถึงแท็กในคำถาม แล้วดึงออกมาจากราคา 331 00:24:27,310 --> 00:24:33,910 และมันก็ไม่ว่าเพราะหลังจากที่ คุณมีทุกอย่างในชื่อ 332 00:24:33,910 --> 00:24:37,260 เราได้เก็บไว้เพียงชื่อมี 333 00:24:37,260 --> 00:24:40,180 เราได้เก็บไว้เพียงแค่การเชื่อมโยง ภายในชื่ออาร์เรย์ 334 00:24:40,180 --> 00:24:47,720 และในการนี​​้สำหรับการดำเนินงานห่วง ที่แทนที่จะไป a.hdrlnk, 335 00:24:47,720 --> 00:24:50,490 เรากำลังมองหา span.price 336 00:24:50,490 --> 00:24:56,500 ดังนั้นถ้าฉันสามารถเพียงจริงๆอย่างรวดเร็วพบ ราคาถ้าคุณตรวจสอบองค์ประกอบ 337 00:24:56,500 --> 00:25:00,610 คุณจะเห็นว่ามันเป็นคืบ กับระดับของราคา 338 00:25:00,610 --> 00:25:04,670 และนั่นคือวิธีการที่เป็นหลัก เราจะได้รับราคาที่มี 339 00:25:04,670 --> 00:25:10,040 >> เพื่อให้เป็นจริง กรณีพื้นฐานของการขูด 340 00:25:10,040 --> 00:25:13,550 นั่นเป็นวิธีที่คุณได้รับทั้งหมด องค์ประกอบบนหน้าเว็บ 341 00:25:13,550 --> 00:25:16,510 ที่พูดคุณรู้อยู่แล้วว่า URL ของ 342 00:25:16,510 --> 00:25:21,050 >> ดังนั้นถ้าเราต้องการที่จะได้รับ เล็ก ๆ น้อย ๆ ในเชิงลึก 343 00:25:21,050 --> 00:25:23,950 เราสามารถขูดหน้าภายในหน้า 344 00:25:23,950 --> 00:25:28,480 และสำหรับตัวอย่างนี้ผมจะ จะแสดงผลไปยังไฟล์ CSV 345 00:25:28,480 --> 00:25:39,510 ดังนั้นฉันต้อง CSV ที่นี่ เพราะทับทิมไม่ได้ภายในตัวเอง 346 00:25:39,510 --> 00:25:42,350 มีฟังก์ชันการทำงาน เพียงแค่การส่งออกไฟล์ CSV 347 00:25:42,350 --> 00:25:45,030 เพื่อให้ง่ายสุด 348 00:25:45,030 --> 00:25:48,710 ผมขอเพียงแค่ไปที่ต่อไป 349 00:25:48,710 --> 00:25:51,640 350 00:25:51,640 --> 00:25:57,170 เราครอบคลุมไฟล์ I / O ดังนั้นนี่ จะคล้ายกับวิธีการที่จะอยู่ในซี 351 00:25:57,170 --> 00:26:00,870 และก่อนที่เราจะย้ายไปยังชุดกิโมโน, ฉันจะแสดงให้คุณเห็นวิธีการที่รวดเร็วจริงๆ 352 00:26:00,870 --> 00:26:02,790 ขูดเว็บไซต์ที่อยู่ในสถานที่ท่องเที่ยว 353 00:26:02,790 --> 00:26:10,040 >> ดังนั้นเราจึงได้เรียนรู้วิธีแล้ว ที่จะประกาศในอาร์เรย์ทับทิม 354 00:26:10,040 --> 00:26:13,280 ดังนั้นฉันแค่ประกาศ พวงของอาร์เรย์โดยพลการ 355 00:26:13,280 --> 00:26:16,310 ที่ฉันจะได้รับการจัดเก็บข้อมูลภายใน 356 00:26:16,310 --> 00:26:20,680 doc มีการดำเนินงานในลักษณะเดียวกัน เท่าที่จะทำได้ในแฟ้มก่อนหน้านี้ 357 00:26:20,680 --> 00:26:23,580 เรากำลังจะไปในการหา แต่ละของ span.txt 358 00:26:23,580 --> 00:26:25,040 เรารู้อยู่แล้วว่า 359 00:26:25,040 --> 00:26:32,130 นั่นคือภาชนะภายในที่แต่ละ การเชื่อมโยงมีข้อมูลทั้งหมดที่เราต้องการ 360 00:26:32,130 --> 00:26:40,800 >> ดังนั้นนี่คือสิ่งที่เรากำลังทำอยู่ในแต่ละ การเชื่อมโยงของการเรียนช่วง TXT, เรากำลังไปใน 361 00:26:40,800 --> 00:26:45,720 และเรากำลังหาแท็ก การหาองค์ประกอบแรกของที่ 362 00:26:45,720 --> 00:26:49,937 โปรดจำไว้ว่าผลตอบแทนที่ได้ .css อาร์เรย์ ดังนั้นคุณจึงไม่สามารถเข้าถึงเพียงแค่ว่ามันเป็นคือ 363 00:26:49,937 --> 00:26:51,520 เรากำลังจะไปหาองค์ประกอบแรก 364 00:26:51,520 --> 00:26:56,430 แม้ว่าจะเป็นอาร์เรย์ของหนึ่ง รายการที่คุณจะต้องใช้รูปแบบนี้ 365 00:26:56,430 --> 00:26:58,800 แล้วดึงออกแอตทริบิวต์ href 366 00:26:58,800 --> 00:27:01,800 >> ดังนั้นเราจึงได้ก่อนหน้านี้ 367 00:27:01,800 --> 00:27:04,440 ดังนั้นควรมีลักษณะที่คุ้นเคย 368 00:27:04,440 --> 00:27:14,330 ดังนั้นตอนนี้เรามีอาร์เรย์ เรียกว่าเส้นทางของการเชื่อมโยงของเรา 369 00:27:14,330 --> 00:27:16,590 ที่เรากำลังจะต้องการใช้ 370 00:27:16,590 --> 00:27:21,350 ดังนั้นถ้าเรามีอาร์เรย์ของทั้งหมดนี้ เส้นทางที่เราต้องการใช้ 371 00:27:21,350 --> 00:27:26,840 เราก็สามารถสร้างรายการสำหรับแต่ละ ของหน้าเว็บเหล่านั้นเมื่อเราเปิดหน้าเว็บที่ 372 00:27:26,840 --> 00:27:31,150 ดังนั้นในขณะที่เรายังเห็นใน ไวยากรณ์ก่อนที่ 373 00:27:31,150 --> 00:27:37,450 ทำแก้ไขสตริงกับเส้นทาง ที่นี่จึงไวยากรณ์เป็นเพียงสำหรับเส้นทาง 374 00:27:37,450 --> 00:27:41,450 และผมก็สามารถตั้งชื่อนี้ ตัวแปรชื่อโดยพลการใด ๆ 375 00:27:41,450 --> 00:27:43,070 >> นี้เป็นสิ่งสำคัญอย่างหนึ่ง 376 00:27:43,070 --> 00:27:46,650 นี่คืออาร์เรย์ที่คุณจะ จะเข้าถึงแต่ละองค์ประกอบ 377 00:27:46,650 --> 00:27:52,400 แต่เมื่อคุณกล่าวว่าสำหรับเส้นทางที่อยู่ในเส้นทาง นี้หมายความว่าสำหรับองค์ประกอบในเส้นทางแต่ละ 378 00:27:52,400 --> 00:27:55,150 เรียกว่าเส้นทางและการใช้งานที่ 379 00:27:55,150 --> 00:27:59,266 นี้เป็นหลักเช่นเมื่อคุณ ทำสำหรับวงและคุณใช้ฉัน int 380 00:27:59,266 --> 00:28:04,000 ดังนั้นคุณจึงสามารถรักษาเป็นเส้นทางที่ ตัวแปรที่การเพิ่ม 381 00:28:04,000 --> 00:28:07,820 >> และแล้วสำหรับแต่ละเหล่านั้น ไปลงในแต่ละเชื่อมโยงเหล่านั้น 382 00:28:07,820 --> 00:28:11,710 เพราะเราเก็บไว้ในหน้ารายการ ดังนั้นเราสร้างหน้าใหม่ทุกครั้ง 383 00:28:11,710 --> 00:28:13,330 เราเข้าถึงได้ 384 00:28:13,330 --> 00:28:20,560 และจากนั้นภายในหน้าใหม่ที่พบ span.postingtitletext, span.price, 385 00:28:20,560 --> 00:28:22,240 แล้วส่วน # postingbody 386 00:28:22,240 --> 00:28:28,430 เราครอบคลุมอยู่แล้วส่วน # postingbody เมื่อเรามองไปที่รายละเอียด 387 00:28:28,430 --> 00:28:34,890 >> เพื่อให้เราสามารถไปดูในโพสต์ Craigslist, ถ้าคุณกำลังมองหาที่เพียงแค่ชื่อ 388 00:28:34,890 --> 00:28:38,810 คุณสามารถเห็นมันขึ้นที่นี่ ช่วง postingtitletext 389 00:28:38,810 --> 00:28:41,390 และที่ว่าทำไมมันมี 390 00:28:41,390 --> 00:28:49,120 และจากนั้นในราคาที่คุณสามารถ เข้าถึงได้กับระดับช่วงราคา 391 00:28:49,120 --> 00:28:54,480 >> ดังนั้นเรายังอาจจะอาจจะ ต้องการเก็บ URL ของ 392 00:28:54,480 --> 00:28:58,580 ดังนั้นเราก็จะทำงานนี้ อีกครั้งเก็บไว้ในอาร์เรย์ 393 00:28:58,580 --> 00:29:01,150 เพราะถ้าคุณกำลังมองหา ใน Craigslist คุณ 394 00:29:01,150 --> 00:29:05,290 อาจจะต้องการวิธีการถ้า คุณเห็นบางสิ่งบางอย่างที่คุณสนใจ 395 00:29:05,290 --> 00:29:06,620 กลับไปยังเว็บไซต์ที่ 396 00:29:06,620 --> 00:29:10,480 ดังนั้นคุณเพียงต้องการที่จะจัดเก็บ URL สำหรับการอ้างอิงประโยชน์ 397 00:29:10,480 --> 00:29:13,840 398 00:29:13,840 --> 00:29:19,630 >> นี่เป็นเพียงเป็นหลัก ไวยากรณ์สำหรับการห่วง 399 00:29:19,630 --> 00:29:26,360 ฉันจะไม่ paths.each แทน ของเส้นทางในเส้นทางที่มีค่าดัชนี 400 00:29:26,360 --> 00:29:31,280 และรูปแบบนี้คือทับทิม for-- เส้นทางคือสิ่งที่เราทำขึ้นที่นี่ 401 00:29:31,280 --> 00:29:33,920 ประกาศตัวแปรสำหรับแต่ละรายการ 402 00:29:33,920 --> 00:29:38,540 และดัชนีพฤติกรรมเช่น ฉันใน C สำหรับลูป 403 00:29:38,540 --> 00:29:41,280 ดังนั้นคุณสามารถติดตาม ของสิ่งที่ดัชนี 404 00:29:41,280 --> 00:29:45,200 >> ดังนั้นนี่เป็นเพียง สิ่งอำนวยความสะดวกเล็ก ๆ น้อย ๆ 405 00:29:45,200 --> 00:29:46,950 เมื่อคุณใช้มีดโกน 406 00:29:46,950 --> 00:29:50,580 หากคุณกำลังขูดหลายร้อยหน้า เพื่อให้แน่ใจว่ามันไม่ได้แขวน 407 00:29:50,580 --> 00:29:53,320 มันจะเป็นเพียงแค่การส่งออก ฉันเข้าถึงหน้านี้ 408 00:29:53,320 --> 00:29:55,960 และให้แน่ใจว่า ก็ยังคงดำเนินการต่อไป 409 00:29:55,960 --> 00:29:59,250 แต่สำหรับวัตถุประสงค์ของเราเพราะ มีร้อยรายการ 410 00:29:59,250 --> 00:30:08,000 ฉันจะเข้าถึงเพียงสามของพวกเขา เพื่อที่เราจะไม่ได้หมดเวลาที่นี่ 411 00:30:08,000 --> 00:30:13,040 >> แต่ก่อนที่เราจะไปว่าฉันแค่ จะแสดงให้คุณได้อย่างรวดเร็ว 412 00:30:13,040 --> 00:30:16,940 ผมจะแสดงผลชื่อ ราคา, รายละเอียดและ URL 413 00:30:16,940 --> 00:30:19,600 ของแต่ละการเชื่อมโยงที่ผมได้คัดลอกมา 414 00:30:19,600 --> 00:30:23,720 และแล้วนี้เป็นเพียง ไวยากรณ์สำหรับห้องสมุด CSV 415 00:30:23,720 --> 00:30:25,240 คุณสามารถเปิดไฟล์ CSV 416 00:30:25,240 --> 00:30:27,070 นี่คือสิ่งที่ผมจะเรียกมันว่า 417 00:30:27,070 --> 00:30:29,430 เปิดด้วยการเขียนสิ่งที่ต้องทำ 418 00:30:29,430 --> 00:30:33,830 และแล้ว CSV จะเป็นแฟ้มที่ คุณป้อนทุกอย่างลง 419 00:30:33,830 --> 00:30:37,800 นี่เป็นเพียงการตรวจสอบสุขภาพจิตดีสำหรับ ฉันรู้ว่ามันทำงาน 420 00:30:37,800 --> 00:30:41,240 และนี่คือการตรวจสอบสุขภาพจิตของฉัน ที่จะรู้ว่ามันเสร็จสมบูรณ์ 421 00:30:41,240 --> 00:30:46,670 ดังนั้นฉันใส่ชื่อเข้าไปในแถวใน CSV ราคาสมาชิก, คำอธิบาย, 422 00:30:46,670 --> 00:30:49,420 ทั้งหมดลงในแถวในรูปแบบ CSV 423 00:30:49,420 --> 00:30:53,410 >> ดังนั้นถ้าเราไปและเรียกใช้ now-- นี้และฉันเพียงแค่ 424 00:30:53,410 --> 00:31:04,710 ตรวจสอบให้แน่ใจว่าผมได้บันทึกไว้ it-- แทน เพียงแสดงผลไปยังขั้ว 425 00:31:04,710 --> 00:31:09,750 เราควรจะมีไฟล์ CSV ยื่นที่ผลิต 426 00:31:09,750 --> 00:31:13,500 ดังนั้นที่นี่เราสามารถมองเห็นรูปแบบ CSV ไฟล์ที่ได้รับการผลิต 427 00:31:13,500 --> 00:31:19,330 นี่คือผลลัพธ์ของ scape ที่ฉันเพียงแค่ขับรถ 428 00:31:19,330 --> 00:31:23,030 ในขณะที่คุณสามารถดูที่นี่ การเข้าถึงหน้า 0, 1, 2, 3 429 00:31:23,030 --> 00:31:27,400 เหล่านี้เป็นชื่อที่ ราคา, คำอธิบาย 430 00:31:27,400 --> 00:31:31,710 และถ้าเรามองไปที่ CSV นี้ ไฟล์ที่เราได้สร้างขึ้น 431 00:31:31,710 --> 00:31:35,700 คุณสามารถเห็นออกมาที่นี่ 432 00:31:35,700 --> 00:31:40,350 นี้ไม่ได้เป็น Excel เพื่อให้มันไม่ได้ จัดรูปแบบในแถวและคอลัมน์ 433 00:31:40,350 --> 00:31:45,140 แต่คุณสามารถจินตนาการว่า มันอาจจะมีการจัดรูปแบบ 434 00:31:45,140 --> 00:31:47,740 >> CSV ย่อมาคั่นด้วยเครื่องหมายจุลภาค 435 00:31:47,740 --> 00:31:50,090 ดังนั้นคุณสามารถจินตนาการนี​​้อาจจะมีแถว 436 00:31:50,090 --> 00:31:54,700 และจุลภาคแต่ละจะ บ่งบอกถึงคอลัมน์ที่แยกต่างหาก 437 00:31:54,700 --> 00:32:00,010 เพียงแค่คำพูดของ caution-- บางครั้งคุณ 438 00:32:00,010 --> 00:32:02,260 ขูดสิ่งที่มีจำนวนมากของเครื่องหมายจุลภาค 439 00:32:02,260 --> 00:32:05,100 ดังนั้นหากคุณกำลังแสดงผล ไปยังไฟล์ CSV ที่ 440 00:32:05,100 --> 00:32:10,340 มันอาจจะไม่ส่งออก วิธีที่คุณอาจคิดว่า 441 00:32:10,340 --> 00:32:16,770 >> เพื่อให้เป็นหลักทั้งหมด มีการขูด HTML พื้นฐาน 442 00:32:16,770 --> 00:32:20,110 หน้าเว็บที่มี Nokogiri 443 00:32:20,110 --> 00:32:26,000 >> ดังนั้นเป็นอินเทอร์เน็ต เป็นนวัตกรรมใหม่ที่มันได้เกิดขึ้น 444 00:32:26,000 --> 00:32:33,220 กับอัตโนมัติมากขึ้นและ GUI รุ่นแม้จะมีประสิทธิภาพน้อย 445 00:32:33,220 --> 00:32:35,540 รุ่นขูดเว็บไซต์ต่างๆ 446 00:32:35,540 --> 00:32:39,060 และสำหรับวัตถุประสงค์ของเรา ฉันจะแสดงให้เห็นถึง 447 00:32:39,060 --> 00:32:42,920 ส่วนขยายของ Chrome ที่เรียกว่าชุดกิโมโน 448 00:32:42,920 --> 00:32:46,690 และสิ่งที่คุณต้องทำคือคุณนำทาง ไปยังหน้าเว็บที่คุณต้องการที่จะขูด 449 00:32:46,690 --> 00:32:48,590 คุณคลิกบนสนามที่น่าสนใจ 450 00:32:48,590 --> 00:32:51,510 คุณปรับทุ่งนา เพราะมันจะโดยอัตโนมัติ 451 00:32:51,510 --> 00:32:54,360 ตรวจสอบสิ่งที่มันคิดว่า คุณต้องการที่จะขูด 452 00:32:54,360 --> 00:32:56,280 และแล้วคุณก็สร้าง API 453 00:32:56,280 --> 00:33:03,700 >> ดังนั้นถ้าเราจะแสดงให้เห็นถึงมันใน Craigslist ก็จริงจะไม่ทำงาน 454 00:33:03,700 --> 00:33:08,290 และนี่คือสิ่งที่ผมจะกลับไปที่ พูดเกี่ยวกับมันไม่ได้เป็นที่แข็งแกร่ง 455 00:33:08,290 --> 00:33:10,320 แต่ก็มีปัญหาในการสร้างเอพีไอ 456 00:33:10,320 --> 00:33:13,400 แต่ในขณะที่การสาธิต ของสิ่งที่จะทำ 457 00:33:13,400 --> 00:33:17,460 ถ้าคุณติดตั้งส่วนขยายของ Chrome, สิ่งที่คุณทำคือคุณคลิกที่มัน 458 00:33:17,460 --> 00:33:21,750 มัน Kimonofies หน้าและจากนั้นคุณ คลิกที่สิ่งที่คุณต้องการสคริปต์ 459 00:33:21,750 --> 00:33:24,480 >> ดังนั้นถ้าผมคลิกไปที่ ว่ามันจะเน้น 460 00:33:24,480 --> 00:33:28,130 สิ่งที่มันคิดว่าฉันต้องการที่จะ ถูกขูดออกหน้านั้น 461 00:33:28,130 --> 00:33:33,660 ดังนั้นบางทีผมเรียกรายชื่อนี้ 462 00:33:33,660 --> 00:33:36,430 นี่คือวิธีการหลายรายการที่ผมได้เลือก 463 00:33:36,430 --> 00:33:43,810 และฉันก็สามารถยืนยันหรือปฏิเสธบาง ของรายการแนะนำอื่น ๆ 464 00:33:43,810 --> 00:33:49,600 ที่จะได้ไปเพิ่ม สิ่งที่จะถูกคัดลอก 465 00:33:49,600 --> 00:33:52,330 >> ดังนั้นตอนนี้เราจะเห็นว่ามี ร้อยรายการที่เลือก 466 00:33:52,330 --> 00:33:58,060 ถ้าผมต้องการที่จะมีเขตข้อมูลอื่นที่ฉัน ยังขูดที่เกี่ยวข้องกับเรื่องนี้ 467 00:33:58,060 --> 00:34:02,540 บอกว่าผมต้องการที่จะขูดราคา เช่นเดียวแล้วฉันสามารถทำเช่นเดียวกัน 468 00:34:02,540 --> 00:34:06,190 469 00:34:06,190 --> 00:34:11,550 >> ดังนั้นนี่คือการสาธิตว่าเป็น ที่แข็งแกร่งมากน้อยเพราะตอนนี้ก็ 470 00:34:11,550 --> 00:34:15,050 หยิบขึ้นมาเมืองแทน เพียงราคาที่ฉันต้องการ 471 00:34:15,050 --> 00:34:16,989 และตอนนี้ก็หยิบขึ้นมา 200 สิ่งที่ 472 00:34:16,989 --> 00:34:19,880 คุณสามารถกลับไปและลบ 473 00:34:19,880 --> 00:34:21,449 คุณสามารถลองอีกครั้ง 474 00:34:21,449 --> 00:34:24,250 แต่ไม่รับประกัน 475 00:34:24,250 --> 00:34:29,909 นี่คือวิธีการทำงานนี้บางครั้ง 476 00:34:29,909 --> 00:34:32,969 ในขณะที่คุณดูที่นี่ตอนนี้ก็บอกว่า 96 ขึ้นที่นี่ 477 00:34:32,969 --> 00:34:37,000 ก็หยิบขึ้นมามากที่สุดของการเชื่อมโยง ที่คุณต้องการที่จะขูด แต่ไม่ 478 00:34:37,000 --> 00:34:39,280 จำเป็นต้องทั้งหมดของพวกเขา 479 00:34:39,280 --> 00:34:43,909 >> เครื่องมือที่มีประโยชน์อีกประการหนึ่งของชุดกิโมโนแม้ว่า คือคุณสามารถไปที่คุณสมบัติขั้นสูง 480 00:34:43,909 --> 00:34:47,980 ที่นี่ให้ไปที่ขั้นสูง และมันจะแสดงให้คุณเห็น 481 00:34:47,980 --> 00:34:53,139 รายละเอียดของที่ไม่ซ้ำกัน วิธีการเข้าถึงแบบ HTML 482 00:34:53,139 --> 00:34:54,909 แท็กที่คุณต้องการที่จะขูด 483 00:34:54,909 --> 00:35:01,450 ดังนั้นสำหรับรายชื่อถ้าคุณดูที่นี่ ถ้าคุณเข้าถึงครอบคลุมช่วงพี div ที่ 484 00:35:01,450 --> 00:35:06,030 คุณสามารถจริงเพียงแค่ใช้ นี้ในรหัส Nokogiri ของคุณ 485 00:35:06,030 --> 00:35:10,780 ซึ่งก่อนที่เราจะได้ span.txt ในการเข้าถึงแต่ละรายการ 486 00:35:10,780 --> 00:35:13,270 ถ้าฉันเพียงแค่ต้องการให้ข้อความ รายชื่อที่อยู่ในการ 487 00:35:13,270 --> 00:35:18,950 ฉันสามารถป้อนข้อมูล div พื้นที่พี ช่วงพื้นที่ช่วงพื้นที่พื้นที่ 488 00:35:18,950 --> 00:35:21,570 และมันจะบรรลุผลเดียวกัน 489 00:35:21,570 --> 00:35:26,320 และสำหรับผู้ที่มีความสนใจ ในการใช้การแสดงออกปกติ 490 00:35:26,320 --> 00:35:31,670 มันเกิดขึ้นยังให้คุณปกติ การเรียงลำดับการแสดงออกของสตริงที่จะใส่ 491 00:35:31,670 --> 00:35:34,900 ที่จะหาสิ่งที่ คุณกำลังพยายามที่จะหา 492 00:35:34,900 --> 00:35:44,130 >> ดังนั้นจึงมีอีกหนึ่งคุณลักษณะที่เย็น ของชุดกิโมโนที่คุณสามารถเลขหน้า, 493 00:35:44,130 --> 00:35:47,780 ซึ่งไม่เพียง แต่ฉันสามารถขูด ผลที่ได้จากหน้านี้ 494 00:35:47,780 --> 00:35:50,890 ฉันสามารถคลิกที่เล็ก ๆ น้อย ๆ นี้ ปุ่มที่นี่เลข, 495 00:35:50,890 --> 00:35:55,580 ระบุปุ่มที่จะ พาฉันไปที่หน้าถัดไป 496 00:35:55,580 --> 00:35:59,500 แล้วมันก็จะรู้ว่า มันสามารถย้ำไปยังหน้าถัดไป 497 00:35:59,500 --> 00:36:04,120 แล้วขูดทั้งหมดของ the-- เป็นเวลานาน ที่เป็นรูปแบบเดียวกันของ course-- 498 00:36:04,120 --> 00:36:06,110 สเคปทั้งหมดของการเชื่อมโยงเหล่านั้นเช่นกัน 499 00:36:06,110 --> 00:36:15,230 >> ดังนั้นกิโมโนเพราะไม่ต้องการที่จะ ทำงานร่วมกับ Craigslist สิ่งที่เราได้ทำ 500 00:36:15,230 --> 00:36:19,790 คือผมได้ Kimonofied ฮาร์วาร์สีแดงเข้ม 501 00:36:19,790 --> 00:36:29,380 ฉันได้ดึงออกมาจากบางส่วนของการจัดเรียงของ บทความที่ให้ความสำคัญด้านบนยืนยันที่นี่ 502 00:36:29,380 --> 00:36:33,090 พูดสิ่งเหล่านี้ 503 00:36:33,090 --> 00:36:35,830 ผมได้รวบรวม API นี้ สำหรับคุณก่อนเวลา 504 00:36:35,830 --> 00:36:38,990 แต่อย่างอื่นคุณจะทำอะไร คือคุณก็จะคลิกเสร็จสิ้น 505 00:36:38,990 --> 00:36:40,940 ใส่ในรายละเอียด API ของคุณ 506 00:36:40,940 --> 00:36:45,260 ตั้งค่าให้อย่างใดอย่างหนึ่ง รวบรวมข้อมูลโดยอัตโนมัติหรือด้วยตนเอง 507 00:36:45,260 --> 00:36:48,460 เพื่อให้คุณสามารถอัปเดตของคุณ ข้อมูลทุก 15 นาที 508 00:36:48,460 --> 00:36:50,330 รายสัปดาห์ประจำวันสิ่งที่คุณต้องการ 509 00:36:50,330 --> 00:36:51,160 ชื่อ API ของคุณ 510 00:36:51,160 --> 00:36:52,790 สร้างเอพีไอ 511 00:36:52,790 --> 00:36:58,460 เพื่อประโยชน์ของคุณผมได้สร้าง สีแดงเข้มหน้า API แล้ว 512 00:36:58,460 --> 00:37:02,480 >> ดังนั้นคุณก็สร้าง บัญชีในชุดกิโมโนและมัน 513 00:37:02,480 --> 00:37:06,240 จะเก็บ APIs ทั้งหมดของคุณสำหรับคุณ 514 00:37:06,240 --> 00:37:10,330 เพื่อเป็นหลักนั่นคือทั้งหมดที่คุณ ครูที่แตกต่างกันแยกจากกัน 515 00:37:10,330 --> 00:37:18,250 >> ดังนั้นหากเราดูที่นี่นี้เป็น การเชื่อมโยงความคิดเห็นที่ฉันได้เก็บรวบรวม 516 00:37:18,250 --> 00:37:21,290 เหล่านี้เป็นที่โดดเด่น การเชื่อมโยงที่ฉันได้เก็บรวบรวม 517 00:37:21,290 --> 00:37:24,090 และเหล่านี้จะอ่านมากที่สุด การเชื่อมโยงที่ฉันได้เก็บรวบรวม 518 00:37:24,090 --> 00:37:27,120 จากภูมิประเทศ API นี้ล่าสุด 519 00:37:27,120 --> 00:37:30,790 >> ดังนั้นหากคุณสามารถดูที่นี่ เหล่านี้จะเป็นที่โดดเด่น 520 00:37:30,790 --> 00:37:34,130 เหล่านี้จะเป็นความคิดเห็นที่ ซึ่งในตัวอย่างนี้ 521 00:37:34,130 --> 00:37:38,150 ผมเคยทำงานร่วมกันพวกเขาทั้งหมด เป็นหนึ่งในคอลเลกชัน 522 00:37:38,150 --> 00:37:42,780 แต่ถ้าคุณเพียงแค่เล่นรอบกับมัน นิด ๆ หน่อย ๆ คุณสามารถแยกมันขึ้นมา 523 00:37:42,780 --> 00:37:45,090 และแบ่งมันได้อย่างไร คุณต้องการที่จะเป็นเวลานาน 524 00:37:45,090 --> 00:37:47,520 เป็นรูปแบบที่แตกต่างกันเล็กน้อย 525 00:37:47,520 --> 00:37:51,320 >> เพียงเพื่อเล่นรอบกับนี้ การรวบรวมข้อมูลการตั้งค่าซึ่งเป็นหนึ่งในข้อเสีย 526 00:37:51,320 --> 00:37:58,120 คือคุณสามารถรวบรวมข้อมูลขึ้น ถึง 25 หน้าในเวลา 527 00:37:58,120 --> 00:38:00,430 นั่นเป็นหนึ่งในปัจจัยที่ จำกัด 528 00:38:00,430 --> 00:38:03,060 แต่ที่นี่ถ้าคุณตั้งค่า ในการรวบรวมข้อมูลด้วยตนเองนี้ 529 00:38:03,060 --> 00:38:06,100 เป็นวิธีที่คุณบอกว่า ในการปรับปรุงข้อมูลของคุณ 530 00:38:06,100 --> 00:38:11,010 และที่นี่คุณสามารถดูประวัติของการรวบรวมข้อมูล ของทุกอย่างที่คุณได้รวบรวมข้อมูล 531 00:38:11,010 --> 00:38:16,000 และพวกคุณสามารถกลับไปลงทะเบียน เล่นรอบกับทุกวิธีที่แตกต่างกัน 532 00:38:16,000 --> 00:38:20,340 ที่คุณสามารถปรับเปลี่ยนและใช้ข้อมูลของคุณ 533 00:38:20,340 --> 00:38:24,580 >> กิโมโนที่สามารถตั้งค่าได้ถึง ขูดเชื่อมโยงการเชื่อมโยงภายใน 534 00:38:24,580 --> 00:38:29,700 และคุณจะทำอย่างไรเพื่อให้เป็นครั้งแรกโดย ขูดรายการลิงก์, 535 00:38:29,700 --> 00:38:35,390 แล้วใช้ API เป็นที่ กระโดดออกจากจุด API อื่น 536 00:38:35,390 --> 00:38:36,710 ที่คุณสร้างสคริปต์ 537 00:38:36,710 --> 00:38:42,040 แต่ที่ซับซ้อนมากขึ้นกว่า สิ่งที่เรากำลังจะได้รับในวันนี้ 538 00:38:42,040 --> 00:38:44,270 >> เพื่อให้เป็นชุดกิโมโน 539 00:38:44,270 --> 00:38:46,980 เราจะพูดคุยเกี่ยวกับข้อดีและ ข้อเสียของการ Nokogiri และชุดกิโมโน 540 00:38:46,980 --> 00:38:50,380 >> Nokogiri ก็รวดเร็วจริงๆ 541 00:38:50,380 --> 00:38:51,640 มันเป็นเรื่องง่ายที่จะทดสอบ 542 00:38:51,640 --> 00:38:55,910 คุณก็สามารถทำให้สิ่งที่จะ คอนโซลและง่ายต่อการกำหนดค่า 543 00:38:55,910 --> 00:39:00,400 คุณสามารถตัดสินใจได้ว่าสิ่งที่ คุณต้องการที่จะถูและจัดเก็บ 544 00:39:00,400 --> 00:39:02,060 มีข้อ จำกัด หน้าไม่มี 545 00:39:02,060 --> 00:39:08,010 ที่จริงผมใช้มันเพื่อขูดเช่น 1800 เซาท์แอฟริกันเว็บไซต์โรงเรียน 546 00:39:08,010 --> 00:39:10,870 สำหรับอีเมลสำหรับการฝึกงานที่ฉันได้อย่าง 547 00:39:10,870 --> 00:39:16,060 >> เพื่อให้เป็นไปได้ แต่วิธีที่ดีที่สุด จะแยกสคริปต์ 548 00:39:16,060 --> 00:39:19,310 เพราะถ้ามันล้มเหลวแล้ว คุณไม่ได้รับอะไร 549 00:39:19,310 --> 00:39:22,790 แต่ถ้าคุณทำร้อย อาจจะ 200 หน้าในเวลา 550 00:39:22,790 --> 00:39:27,840 แล้วคุณมีโอกาสบางอย่างน้อย ได้รับมันทีละน้อยโดยเฉพาะอย่างยิ่ง 551 00:39:27,840 --> 00:39:30,280 ถ้าคุณมีอินเทอร์เน็ตที่ไม่ดี 552 00:39:30,280 --> 00:39:32,720 >> แต่น่าเสียดายที่มันสามารถขูด HTML 553 00:39:32,720 --> 00:39:35,190 ดังนั้นถ้าคุณมี โหลดแบบไดนามิก pages-- 554 00:39:35,190 --> 00:39:39,480 และฉันจะแสดงให้คุณเห็นตัวอย่าง เช่นเรือคายัคใน second-- 555 00:39:39,480 --> 00:39:42,270 Nokogiri น่าเสียดาย ไม่สามารถขูดว่า 556 00:39:42,270 --> 00:39:45,700 >> แต่เป็นชุดกิโมโนยังใช้งานง่าย 557 00:39:45,700 --> 00:39:48,330 ในขณะที่คุณเห็นมันเป็นหลัก จุดและคลิก 558 00:39:48,330 --> 00:39:50,260 มันสามารถขูด JavaScript 559 00:39:50,260 --> 00:39:53,790 แต่น่าเสียดายที่มีสูงสุด วิธีการหลาย ๆ หน้าคุณสามารถขูด 560 00:39:53,790 --> 00:39:55,710 บางครั้งก็เล็ก ๆ น้อย ๆ ยากที่จะกำหนดค่า 561 00:39:55,710 --> 00:39:57,240 จะได้รับการสับสน 562 00:39:57,240 --> 00:40:00,920 แต่ก็แน่นอน สิ่งที่ต้องพิจารณา 563 00:40:00,920 --> 00:40:05,930 ถ้าคุณไม่ได้พยายามที่จะมี ขูดแข็งแกร่งสุดบำรุงรักษา 564 00:40:05,930 --> 00:40:09,010 ถ้าคุณเพียงต้องการที่จะได้รับ ทุกอย่างออกของหน้าได้อย่างรวดเร็ว 565 00:40:09,010 --> 00:40:10,970 แล้วกิโมโนเป็นจริงๆ เครื่องมือที่ดีที่จะใช้ 566 00:40:10,970 --> 00:40:16,490 และที่ผมกล่าวถึงก่อนที่จะมี คุณลักษณะขั้นสูงของชุดกิโมโน 567 00:40:16,490 --> 00:40:19,260 ที่แสดงให้เห็นถึงวิธีการ เข้าถึง HTM​​L ที่ไม่ซ้ำกัน 568 00:40:19,260 --> 00:40:24,210 องค์ประกอบซึ่งจะเป็นประโยชน์สุดแม้กระทั่ง ถ้าคุณกำลังทำงานใน Nokogiri 569 00:40:24,210 --> 00:40:30,370 >> ดังนั้นหากเราไปที่เว็บไซต์เรือคายัคสำหรับ ตัวอย่างเช่นคุณสามารถดูมี is-- 570 00:40:30,370 --> 00:40:31,750 หรือบางทีคุณอาจไม่สามารถมองเห็น 571 00:40:31,750 --> 00:40:38,910 แต่ถ้าผมแสดงให้คุณ URL สำหรับเรือคายัค, นี้จริงเป็นเพียงแหล่งที่มาของ URL 572 00:40:38,910 --> 00:40:43,800 นี้คือ URL ก่อนที่จะถูก แก้ไขโดยสิ่งที่สคริปต์ JavaScript 573 00:40:43,800 --> 00:40:45,350 ที่พวกเขาได้เกิดขึ้น 574 00:40:45,350 --> 00:40:52,420 และก็จะไปดูที่แตกต่างกัน จากการตรวจสอบองค์ประกอบ 575 00:40:52,420 --> 00:40:55,940 >> ดังนั้นถ้าคุณผ่านไปและคุณ ตรงกับขึ้นตรวจสอบธาตุ 576 00:40:55,940 --> 00:41:00,340 รหัสรหัสที่มาก็ จริงที่เกิดขึ้นจะแตกต่างกัน 577 00:41:00,340 --> 00:41:05,640 และนี่คือเหตุผลหลัก Nokogiri ไม่สามารถขูดเว็บไซต์โหลดแบบไดนามิก 578 00:41:05,640 --> 00:41:08,810 เพราะเป็น Nokogiri ขูด URL แหล่งที่มาของ 579 00:41:08,810 --> 00:41:16,310 ในขณะที่ชุดกิโมโนเป็นจริง ขูดสิ่งที่คุณเป็นหลัก 580 00:41:16,310 --> 00:41:18,260 มองเห็นในที่เลือกธาตุ 581 00:41:18,260 --> 00:41:23,880 >> ดังนั้นถ้าผมผ่านไปและฉัน และพยายาม Kimonofy เรือคายัค, 582 00:41:23,880 --> 00:41:26,600 ที่จริงผมสามารถไปถึง และเลือกราคา 583 00:41:26,600 --> 00:41:32,360 มันเป็นความยากเล็ก ๆ น้อย ๆ และในกรณีนี้ก็ 584 00:41:32,360 --> 00:41:36,600 จริงเห็นราคานี้ เป็นที่แตกต่างจากนี้ 585 00:41:36,600 --> 00:41:41,110 ดังนั้นในขณะที่คุณสามารถ configure-- หรือ ถ้าไม่ได้โหลดแบบไดนามิก 586 00:41:41,110 --> 00:41:43,620 คุณสามารถกำหนดค่า Nokogiri ที่จะได้รับสิ่งเหล่านี้ 587 00:41:43,620 --> 00:41:48,230 >> เพราะการจัดรูปแบบเล็กน้อย ที่แตกต่างกันสำหรับรายชื่อนี้ 588 00:41:48,230 --> 00:41:51,280 ขณะที่มันถูกเมื่อเทียบกับส่วนที่เหลือ ของพวกเขาและคุณสามารถดูที่นี่ 589 00:41:51,280 --> 00:41:54,830 มันหายไปจริงและ เลือกทั้งหมดราคาเที่ยวบิน 590 00:41:54,830 --> 00:42:01,200 บางทีฉันอาจจะต้องการเลือก เวลาของเที่ยวบินเช่นกัน 591 00:42:01,200 --> 00:42:04,700 และฉันสามารถผ่านไปและ การเรียงลำดับของการกำหนดค่าที่ 592 00:42:04,700 --> 00:42:06,950 ฉันไม่ต้องการที่ 593 00:42:06,950 --> 00:42:10,200 ฉันเพียงต้องการเวลาของเที่ยวบินถัดไป 594 00:42:10,200 --> 00:42:17,030 และแล้วหลังจากที่สองของเหล่านี้ จะผ่านจะได้รับภาพ 595 00:42:17,030 --> 00:42:19,080 ดังนั้นกิโมโนสวยสมาร์ท 596 00:42:19,080 --> 00:42:21,900 มันเป็นเพียงแค่ไม่ได้ค่อนข้างเป็นที่แข็งแกร่ง 597 00:42:21,900 --> 00:42:26,710 >> มีบางอื่น ๆ ทางเลือกที่คุณสามารถใช้ 598 00:42:26,710 --> 00:42:31,600 และฉันจะแสดงให้คุณเห็นพวกเขาที่นี่ 599 00:42:31,600 --> 00:42:35,790 หากคุณมีความสะดวกสบายมากขึ้นในการ งูใหญ่แทนทับทิมบางที 600 00:42:35,790 --> 00:42:39,290 มีห้องสมุด เรียกว่าซุปที่สวยงาม 601 00:42:39,290 --> 00:42:40,430 คุณสามารถใช้ที่ 602 00:42:40,430 --> 00:42:42,270 มันคล้ายกันมากกับ Nokogiri 603 00:42:42,270 --> 00:42:44,620 แต่ก็มีคุณสมบัติอื่น ๆ อีกไม่กี่ 604 00:42:44,620 --> 00:42:52,160 คุณสามารถค้นหาแท็กและ แล้วย้ายขึ้นหรือย้ายไปด้านข้าง 605 00:42:52,160 --> 00:42:54,690 >> มี PyQt เป็น 606 00:42:54,690 --> 00:42:57,820 นี้ที่จริงสามารถขูดแบบไดนามิก เว็บไซต์เพราะการจัดเรียงของ 607 00:42:57,820 --> 00:43:02,540 เป็น WebKit ที่อ้างว่าเป็น เบราว์เซอร์โดยไม่ต้องมีจริง 608 00:43:02,540 --> 00:43:03,670 เป็นเบราว์เซอร์ 609 00:43:03,670 --> 00:43:07,490 ดังนั้นมันจะรอให้ทุก จาวาสคริปต์ในการโหลดครั้งแรกแล้ว 610 00:43:07,490 --> 00:43:09,560 ไปและพยายามขูดเว็บไซต์ 611 00:43:09,560 --> 00:43:13,560 >> ถ้าคุณต้องการที่จะติดกับทับทิมคุณ สามารถไประดับหนึ่งขึ้นมาจาก Nokogiri 612 00:43:13,560 --> 00:43:17,650 คุณสามารถใช้ Capybara กับ เสื้อคลุมผี 613 00:43:17,650 --> 00:43:22,910 และนี้สามารถจริง หลักทำสิ่งเดียวกัน 614 00:43:22,910 --> 00:43:26,610 เป็น PyQt ซึ่งเป็นมันเป็น WebKit 615 00:43:26,610 --> 00:43:29,610 มันรอให้ จาวาสคริปต์ในการโหลดครั้งแรก 616 00:43:29,610 --> 00:43:33,340 ถ้าคุณทำเล่น ๆ กับมันพอ คุณยังจะได้รับมันคลิกไปที่สิ่งที่ 617 00:43:33,340 --> 00:43:42,780 >> ดังนั้นหากมีการเชื่อมโยงว่า ไม่ได้เป็น href คลาสสิกที่ 618 00:43:42,780 --> 00:43:46,350 เส้นทางสามารถเข้าถึงได้ง่ายและ มันเป็นบางสิ่งที่ตรวจพบ JavaScript 619 00:43:46,350 --> 00:43:49,490 คลิกคุณจริงสามารถทำเช่นนั้น 620 00:43:49,490 --> 00:43:53,430 ห้องสมุดที่นิยมมากขึ้น เพื่อจำลองผู้ใช้ 621 00:43:53,430 --> 00:43:56,390 คือใน JavaScript ซึ่งเป็น PhantomJS 622 00:43:56,390 --> 00:44:01,010 นี้เห็นได้ชัดสามารถขูดแบบไดนามิก เพราะเว็บไซต์เป็นหลัก 623 00:44:01,010 --> 00:44:04,270 ทำท่าจะเป็นโครเมี่ยม โดยไม่ต้องมีส่วนติดต่อผู้ใช้ 624 00:44:04,270 --> 00:44:09,970 >> และแล้วแน่นอนที่สุด ที่แข็งแกร่ง แต่ตัวเลือกที่ช้าที่สุด 625 00:44:09,970 --> 00:44:13,260 เป็นซีลีเนียมอัตโนมัติเบราว์เซอร์ 626 00:44:13,260 --> 00:44:15,550 และโชคร้ายที่ คุณไม่ได้ไปได้ 627 00:44:15,550 --> 00:44:19,770 สามารถที่จะทำนี้ภายใน IDE CS50 ของคุณ 628 00:44:19,770 --> 00:44:24,140 เพราะสิ่งที่มันเป็นหลัก ไม่สามารถบูทขึ้น Chrome ของคุณ 629 00:44:24,140 --> 00:44:27,090 Firefox, สิ่งที่เบราว์เซอร์ ที่คุณต้องการใช้ 630 00:44:27,090 --> 00:44:32,570 และมันอาจจะติดตามเมาส์ของคุณ การเคลื่อนไหวของสิ่งที่คุณพิมพ์ใน 631 00:44:32,570 --> 00:44:35,170 และมันก็เรียงลำดับของ โดยอัตโนมัติกระบวนการนี​​้ 632 00:44:35,170 --> 00:44:42,070 ดังนั้นจึงได้รับการพัฒนาเป็นจัดเรียงของ เว็บไซต์เครื่องมือทดสอบอัตโนมัติ 633 00:44:42,070 --> 00:44:45,910 แต่คนจำนวนมากใช้ ซีลีเนียมขูดเว็บไซต์ 634 00:44:45,910 --> 00:44:49,990 ที่พวกเขามิฉะนั้นจะมี จำนวนมากของความยากลำบากขูด 635 00:44:49,990 --> 00:44:53,700 กับบางส่วนของอื่น ๆ เหล่านี้เครื่องมือที่เร็วขึ้น 636 00:44:53,700 --> 00:44:57,530 >> ดังนั้นนั่นคือทั้งหมดที่ฉันมีสำหรับเว็บขูด 637 00:44:57,530 --> 00:44:58,090 มีความสุข. 638 00:44:58,090 --> 00:45:01,762 639 00:45:01,762 --> 00:45:02,680 >> ผู้ชม: คำถาม 640 00:45:02,680 --> 00:45:04,016 >> โรเบิร์ต KRABEK: ใช่ 641 00:45:04,016 --> 00:45:12,840 >> ผู้ชม: มีกลไกในการกัญชา เว็บไซต์เพื่อให้คุณสามารถโดยทั่วไป 642 00:45:12,840 --> 00:45:14,207 ผ่านมันไปในภายหลัง 643 00:45:14,207 --> 00:45:15,040 โรเบิร์ต KRABEK: ใช่ 644 00:45:15,040 --> 00:45:21,530 ดังนั้นเราใส่ในของเรา ตัวอย่างเช่นสำหรับทั้งสองของพวกเขา 645 00:45:21,530 --> 00:45:24,980 เราใส่เข้าไปในเว็บไซต์ทั้งหมด doc 646 00:45:24,980 --> 00:45:31,260 และเพื่อให้คุณสามารถใช้เวลาเพียงแค่จริง doc ตัวแปรและเขียนไปยังแฟ้ม 647 00:45:31,260 --> 00:45:35,490 ดังนั้นถ้าผมอยากจะที่จะทำได้ เขียนมันออกมาเป็นไฟล์ HTML, 648 00:45:35,490 --> 00:45:39,280 แล้วแทนการใช้ OpenURI และคำขอม้วน, 649 00:45:39,280 --> 00:45:43,520 แล้วฉันก็สามารถเปิดเอกสาร HTML และแล้วค้นหาว่า 650 00:45:43,520 --> 00:45:47,960 >> ผู้ชม: แต่คุณสามารถรักษา ประเภทของประสบการณ์ออนไลน์ 651 00:45:47,960 --> 00:45:48,930 ขณะที่คุณทำแบบออฟไลน์ 652 00:45:48,930 --> 00:45:51,013 ตัวอย่างเช่น. เมื่อคุณอยู่ บินเป็นเวลาหลายชั่วโมง 653 00:45:51,013 --> 00:45:54,070 ฉันต้องการที่จะเก็บพื้น เว็บไซต์ทั้งหมด [ไม่ได้ยิน] 654 00:45:54,070 --> 00:45:58,780 >> โรเบิร์ต KRABEK: ใช่ว่า exactly-- ดังนั้นแท้จริงสิ่งที่จะทำ 655 00:45:58,780 --> 00:46:03,010 มันก็นำทุกอย่าง ที่จะเป็นที่ URL นี้ 656 00:46:03,010 --> 00:46:11,280 ดังนั้นถ้าเราวิ่งม้วนก็ การทั้งหมดของ HTM​​L นี้ 657 00:46:11,280 --> 00:46:14,590 และจะเก็บไว้ ภายใน doc ตัวแปร 658 00:46:14,590 --> 00:46:17,290 ดังนั้นแล้วคุณสามารถทำสิ่งที่ คุณต้องการที่จะทำอย่างไรกับเอกสาร 659 00:46:17,290 --> 00:46:18,575 คุณสามารถส่งออกไปยังแฟ้ม 660 00:46:18,575 --> 00:46:19,950 ผู้ชม: แต่มันไม่ได้เชื่อมโยง 661 00:46:19,950 --> 00:46:20,780 มันไม่ได้แบบไดนามิก 662 00:46:20,780 --> 00:46:22,770 มันเรียกซ้ำไม่ได้ใช่มั้ย? 663 00:46:22,770 --> 00:46:24,016 คุณจะเห็นสิ่งที่ฉันหมายความว่าอย่างไร 664 00:46:24,016 --> 00:46:28,359 ฉันพยายามที่จะโดยทั่วไปการจัดเรียงของกัญชา เว็บไซต์ทั้งหมดในฮาร์ดดิสก์ของฉัน 665 00:46:28,359 --> 00:46:31,150 เพื่อที่ฉันโดยทั่วไปจะทำมัน เป็นเวลาหลายชั่วโมงโดยไม่ต้องอินเทอร์เน็ต 666 00:46:31,150 --> 00:46:32,025 >> โรเบิร์ต KRABEK: ขวา 667 00:46:32,025 --> 00:46:37,140 ดังนั้นถ้าผม had-- ดังนั้นที่เป็นไฟล์ของฉัน I / O? 668 00:46:37,140 --> 00:46:47,766 ดังนั้นนี่คือไฟล์ I / O ดังนั้นแทนที่จะพูดว่า นี้ผมเรียก craigslist.html นี้ 669 00:46:47,766 --> 00:46:52,620 670 00:46:52,620 --> 00:46:53,940 ผมจะเปิดขึ้นมา 671 00:46:53,940 --> 00:46:59,020 ฉันจะทำให้ doc เป็นมัน 672 00:46:59,020 --> 00:47:00,470 ฉันปิดแฟ้ม 673 00:47:00,470 --> 00:47:05,410 และจากนั้นเพียงเพราะ CS50 IDE ที่อยู่บนระบบคลาวด์ที่เป็นสิ่งที่ 674 00:47:05,410 --> 00:47:07,710 ฉันจะไปที่นี่ 675 00:47:07,710 --> 00:47:09,320 ฉันสามารถดาวน์โหลดไฟล์ 676 00:47:09,320 --> 00:47:11,830 และแล้วที่จะเป็นในฮาร์ดดิสก์ของฉัน 677 00:47:11,830 --> 00:47:13,930 เพื่อให้คุณสามารถทำแบบนั้น 678 00:47:13,930 --> 00:47:18,830 หรือถ้าคุณจะอยู่ที่บ้านไม่ได้ใช้ CS50 IDE เช่น Sublime หรือบางสิ่งบางอย่าง 679 00:47:18,830 --> 00:47:21,900 นี้ง่ายยิ่งขึ้นเพราะ นี้ที่มีอยู่ทั้งหมดในประเทศ 680 00:47:21,900 --> 00:47:23,020 ไม่เชื่อมโยงกับอินเทอร์เน็ต 681 00:47:23,020 --> 00:47:24,720 >> ผู้ชม: ฉันเห็น 682 00:47:24,720 --> 00:47:26,580 นี่คือปัญหาหนึ่งโดยเฉพาะ 683 00:47:26,580 --> 00:47:30,410 คุณสามารถทำมันซ้ำเพื่อให้คุณ ไปหลายชั้นชนิดของสิ่งลึก? 684 00:47:30,410 --> 00:47:33,801 >> โรเบิร์ต KRABEK: ฉันสามารถดาวน์โหลดโฟลเดอร์ เช่นกันถ้านั่นคือสิ่งที่คุณขอ 685 00:47:33,801 --> 00:47:34,426 ผู้ชม: ใช่ 686 00:47:34,426 --> 00:47:39,890 687 00:47:39,890 --> 00:47:41,440 >> โรเบิร์ต KRABEK: เย็น 688 00:47:41,440 --> 00:47:43,182