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 로 웹을 긁어하는 방법 루비 라이브러리 노코 기리, 6 00:00:15,470 --> 00:00:17,566 그리고 크롬 확장 기모노. 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 CFLAGS와 노코 기리를 설치 equals-- 보석 노코 기리를 설치합니다. 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 당신이 인 것처럼 그리고 당신은 코딩하고 단지 숭고한 또는 뭔가 코딩. 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 당신은 보석 설치 입력 할 수 있습니다 여기려고하고 있지 않다 노코 기리. 34 00:02:04,560 --> 00:02:06,230 확인, 그것은 조금 냉동입니다. 35 00:02:06,230 --> 00:02:08,979 하지만 당신은 노코 기리를 설치 보석 입력 할 수 있습니다. 36 00:02:08,979 --> 00:02:15,970 그리고 그 모든 것을해야한다고 설치있다. 37 00:02:15,970 --> 00:02:20,590 >> 내가 말했듯이, 전에 당신은 여전히​​ 있다면 당신의 CS50 템플리트 ID에서 작업, 38 00:02:20,590 --> 00:02:30,270 당신은 단지 CFLAGS를 입력해야 보석 노코 기리를 설치 같다. 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 >> 당신이 당신의 노코 기리있어 일단 그래서 작업 공간 또는 라이브러리 설치 42 00:02:46,000 --> 00:02:49,500 나는 당신에게 조금 줄거야 루비 구문에서 충돌 코스 43 00:02:49,500 --> 00:02:53,380 노코 기리가 루비 라이브러리이기 때문이다. 44 00:02:53,380 --> 00:03:03,710 그래서 당신은 몇 가지 기본을 알아야합니다 노코 기리 작업을위한 루비 구문. 45 00:03:03,710 --> 00:03:08,750 그래서 몇 가지 기본적인 차이 당신이 사용하는 것과 46 00:03:08,750 --> 00:03:13,370 아마도 당신이 일하고 한 경우 지금까지 단지 C와 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 우리는이 일 해요 실행할 수 있습니다 새 터미널을 엽니 다. 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 >> 그리고 당신은 또한 수 문자열을 연결. 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 난 당신이 루비 노코 기리 가르 칠 것입니다. 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 난 당신이 루비 노코 기리 가르 칠 것입니다. 112 00:07:40,160 --> 00:07:45,600 >> 에 이동, 다른 if 문, 그것은 조금 다르다 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 그리고 그 각각의 슬롯에 대한 배열, 난을 증가 할 것이다. 127 00:08:40,500 --> 00:08:46,080 그래서이 4 0-5, 또는 0을 인쇄해야합니다. 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 >> 그래서 이것은 기본적인 while 루프입니다. 134 00:09:06,620 --> 00:09:12,230 이것은 단지 J 인쇄 될 것입니다, 우리는 5 명중 할 때까지 1 씩 증가. 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 그리고 지금 당신이 루비를 알고, 우리는에 갈 수 있습니다 기본 노코 기리로 설정 긁어. 159 00:10:53,550 --> 00:10:58,190 기본적으로 당신이 할 일은, 루비, 라이브러리를 필요로한다. 160 00:10:58,190 --> 00:11:04,390 그리고 우리의 목적을 위해 우리가 사용할 것 라이브러리 OpenURI뿐만 아니라 노코 기리. 161 00:11:04,390 --> 00:11:07,870 그리고 무엇을 당신은 do-- 그것은거야 당신이 항아리에 대한 구문을 제공 162 00:11:07,870 --> 00:11:16,010 당신은 당신이에서와 마찬가지로 많은 URL을 열 것입니다 C의 URL을 의미 컬 요청. 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 그리고 당신은을 통해 검색 할 수 있습니다 사용하여 고유의 HTML 태그에 대한 변수 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 여기에 당신은 우리가 볼 수 있도록 노코 기리 요구, 오픈 URI가 필요합니다. 172 00:11:52,570 --> 00:11:57,150 귀하의 기본 셋업,하자의 , 문서 또는 문서를 호출 173 00:11:57,150 --> 00:12:07,780 노코 기리 :: 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 보스턴에 나와있는 자전거 보스턴 크레이그 자전거 섹션에 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을 모두 얻을 원한다면 크레이그리스트 사이트, 내가 컬 입력하면, 181 00:12:38,350 --> 00:12:44,950 그냥 URL의 모든 덤프 크레이그 자전거 사이트에서 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 당신이 보면, 오른쪽 코드를 사용하여 bikes--에 크레이그리스트의 URL에서 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 >> 그래서 당신은 우리의 코드로 되돌아 갈 때, 우리 다음이 문서 변수를 조작 할 수 있습니다 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의 클래스와 span 태그를 지정합니다. 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 루비 크레이그리스트 - 스크레이퍼. 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 크레이그리스트 페이지에 있습니다. 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 그리고 우리를 할까 .. 줄 것 때문에 그래서 우리는 여전히 .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 같은 링크의 페이지 크레이그리스트는 않습니다 당신 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 호출합니다. 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 >> 그래서 설명을 얻고 싶었다 말 크레이그리스트의 첫 번째 게시물의. 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 그리고이 경우, 보유 우리를 인도 ID, 269 00:19:19,530 --> 00:19:26,810 를 검색하는 우리의 다음 방법에 태그있는 해시 태그와 함께입니다. 270 00:19:26,810 --> 00:19:30,670 >> 클래스, 당신은 할 수 있습니다 도트 연산자를 사용합니다. 271 00:19:30,670 --> 00:19:38,610 그래서 .txt를, TXT의 클래스를 지정한다 해시 반면 ID를 지정합니다. 272 00:19:38,610 --> 00:19:43,720 이 경우, 태그는 섹션 및 ID는 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의 ID입니다. 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 그래서 만약 내가 아니 그건 ...를 실행합니다. 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 그리고 우리는 이제 문서 항목을 운영하고 있습니다. 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 그리고 루비에, 당신은 사용할 수 있습니다 모든 항목을 반복하는 .each 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 당신은 나를 그냥 가자 비칩니다 수 있습니다 span.txt 내에서 실제 quick-- 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에 덮여있다. 그래서이 그것은 C에 얼마나 유사하다 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 다음 섹션 # 1 postingbody. 386 00:28:22,240 --> 00:28:28,430 우리는 이미 섹션 # 1 postingbody 덮여 우리는 설명을 보았을 때. 387 00:28:28,430 --> 00:28:34,890 >> 그래서 우리는 크레이그리스트 게시물에서 볼 갈 수 있습니다, 그냥 제목에서 찾는다면, 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 당신이 찾고 있다면 때문에 크레이그리스트에, 당신이있어 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의 I. 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 쓰기 DO와 함께 엽니 다. 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, 가격, URL, 설명, 422 00:30:46,670 --> 00:30:49,420 모든 CSV의 행에. 423 00:30:49,420 --> 00:30:53,410 >> 우리가 가서 실행한다면 이들을 당장 내가 단지 424 00:30:53,410 --> 00:31:04,710 내가 그건 ...를 대신 저장 한 것을 확인 단지 단말기로 출력하는, 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 이것의 출력 난 그냥 실행되었는지 풍경입니다. 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 이것은 엑셀 아니므는 아니다 행 및 열 형식. 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 노코 기리가있는 페이지입니다. 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 기모노라는 크롬 확장. 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 >> 우리가 있었던 경우에 따라서 그것을 증명합니다 크레이그리스트는, 실제로는 작동하지 않을 것입니다. 454 00:33:03,700 --> 00:33:08,290 그리고 이것은 내가 다시 무슨 일이 있었는지입니다 이 같은 강력한되지 않는 디자이너. 455 00:33:08,290 --> 00:33:10,320 그것은 문제가 API를 만드는있다. 456 00:33:10,320 --> 00:33:13,400 그러나 데모로 그것을 어떻게 할 것인지의, 457 00:33:13,400 --> 00:33:17,460 당신은 크롬 확장 프로그램을 설치하는 경우, 당신이 모든 당신이 그것을 클릭합니다. 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 P는 스팬에 걸쳐 액세스하는 경우, 484 00:35:01,450 --> 00:35:06,030 당신은 실제로 바로 사용할 수 있습니다 당신의 노코 기리 코드에서이, 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 공간 P 공간 범위 공간 스팬 공간, 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 다음 짓이야만큼을 모두 긁어 그것은 course-- 같은 형식 인 것에 498 00:36:04,120 --> 00:36:06,110 뿐만 아니라 해당 링크의 모든 풍경입니다. 499 00:36:06,110 --> 00:36:15,230 >> 기모노 원하지 않기 때문에 그래서에 우리가 무슨 짓을했는지, 크레이그리스트와 함께 작동 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 API를 만듭니다. 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 당신을 위해 모든 API를 저장합니다. 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 우리는 프로에 대해 이야기 할 것입니다 및 노코 기리과 기모노의 단점. 540 00:38:46,980 --> 00:38:50,380 >> 노코 기리은 정말 빠르다. 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 노코 기리 불행하게도 그것을 긁어 수 없습니다. 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 그것은 자바 스크립트를 긁어 수 있습니다. 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 그 방법을 보여줍니다 고유의 HTML에 액세스 568 00:40:19,260 --> 00:40:24,210 심지어 슈퍼 유용 요소, 당신이 노코 기리에서 작업하는 경우. 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 앞서는 어떤 자바 스크립트 스크립트에 의해 수정 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 그리고 이것은 왜 노코 기리은 본질적으로 동적으로로드 사이트를 긁어 수 없습니다. 578 00:41:05,640 --> 00:41:08,810 노코 기리이기 때문에 소스 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 당신은 노코 기리을 구성 할 수 있습니다 이들 모두를 얻을 수 있습니다. 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 그것은 노코 기리와 매우 유사하다. 603 00:42:42,270 --> 00:42:44,620 그것은 몇 가지 더 많은 기능을 가지고 있습니다. 604 00:42:44,620 --> 00:42:52,160 당신은 HTML 태그를 찾을 수 있으며, 다음 위로 이동 또는 옆으로 이동합니다. 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 척 웹킷이다 이 사실이없는 브라우저 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 >> 루비를 고수하려는 경우 노코 기리에서 한 단계 위로 이동할 수 있습니다. 612 00:43:13,560 --> 00:43:17,650 당신과 함께 카피 바라를 사용할 수 있습니다 심 령 래퍼. 613 00:43:17,650 --> 00:43:22,910 그리고이 사실은 수 본질적으로 같은 일을 614 00:43:22,910 --> 00:43:26,610 PyQt는, 구현되는 그것이 웹킷이다. 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 경로가 쉽게 접근 할 수 있으며, 그것은 감​​지 일부 자바 스크립트 일이 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 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 당신의 CS50의 IDE 내에서이 작업을 수행 할 수. 628 00:44:19,770 --> 00:44:24,140 본질적으로 무엇 때문에 합니까, 그것은 당신의 크롬을 부츠 629 00:44:24,140 --> 00:44:27,090 파이어 폭스, 어떤 브라​​우저 사용하려는 것으로, 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 우리는 문서로 전체 웹 사이트를 넣어. 646 00:45:24,980 --> 00:45:31,260 그래서 당신은 실제로 단지 걸릴 수 있습니다 변수 문서는 파일에 기록합니다. 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 우리는 컬을 실행한다면, 그건 이 HTML의 모든 복용, 657 00:46:11,280 --> 00:46:14,590 그리고 그것을 저장있어 변수 문서 내부. 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 나는 그것으로 둔다의 문서를 것입니다. 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, 숭고한 또는 뭔가처럼, 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