목록전체 보기 (338)
DevSSOM
배열 비슷한 성격을 갖고 있는 데이터 여러 개를, 한 꺼번에 하나의 변수에 넣어서 관리하기 위해 사용. var fruit = ["사과", "배", "수박"]; 보통 하나의 배열 안에는 동일한 데이터 타입의 값들을 넣어줘. 그리고 배열은 index(좌표값)을 가지고 있어. index는 0부터 시작하기 때문에, 위의 fruit 배열에서 사과는 인덱스 값이 [0], 배는 [1], 수박은 [2] 이렇게 됨. var fruit = ["사과", "배", "수박"]; console.log(fruit); // Array(3) 아래 이미지 참고 console.log(fruit[0]); // 사과 배열 안의 데이터를 바꾸고 싶다면, index로 접근해서 바꿔주면 됨. var fruit = ["사과", "배", "수박"];..
네이트 최신뉴스 href 수집하기 웹 페이지 href 링크들을 수집하여 리스트형 변수 list_href에 담아 출력해보기. https://news.nate.com/recent?mid=n0100 전체 - 최신뉴스 : 네이트 뉴스 news.nate.com 출력 예시 [href1, href2, ----] 해야할 것 a 태그가 있는 div 태그 및 class를 찾기. find("a")["href"]로 속성값 href의 데이터를 추출. 추출한 href 문자열 앞에 "https:" 를 앞에 붙여 완벽한 링크로 만들기. import requests from bs4 import BeautifulSoup def get_href(soup) : # 각 기사에 접근할 수 있는 href를 리스트로 반환 return None d..
데이터 타입 변수에 전달되는 데이터 타입에도 여러 종류가 존재할 수 있음. String 문자열 Object 객체 Number 숫자 Boolean 불리언 Function 함수 null 널 Array 배열 undefined 정의되지 않음 문자열 문자열 데이터 타입은, 큰따옴표 또는 작은 따옴표 안에 작성한 문자. var str1 = "Hello"; var str2 = 'Bye'; var str3 = "100"; var str1 = "Hello World"; var str2 = 'Nice to meet you'; var str3 = "She's a girl"; var str4 = "She\'s a girl"; // 위와 같은 결과 var str5 = "20"; 큰 따옴표 안에 넣던지, 작은 따옴표 안에 넣으면..
뉴스 기사의 href 수집하기 이전 실습에서 진행된 페이지가 1,2,3 — 으로 구성된 웹 사이트 형태도 있지만, 단일 페이지에 여러 가지 링크가 있는 경우가 있음. 스포츠동아 뉴스에서는 기사를 클릭하면 해당 기사를 볼 수 있는 url로 이동할 수 있는데, 이런 url로 이동하는 링크들을 수집해보기. https://sports.donga.com/ent?p=1&c=02 스포츠동아 스포츠동아는 정보와 재미를 함께 즐길 수 있는 신문을 지향하고, 새로운 사회 트렌드와 독자의 목소리를 반영해 신속하고 정확한 뉴스를 전달합니다. sports.donga.com HTML 태그 중, 연동된 href를 수집하여 리스트형 변수 list_href에 담아 출력하는 실습임. get_href는 soup 객체를 받아서, 뉴스 기사..
여러 페이지의 기사 제목 수집하기 스포츠동아의 연예부 기사 제목 부분을 크롤링하는 실습. https://sports.donga.com/ent?p=1&c=02 스포츠동아 스포츠동아는 정보와 재미를 함께 즐길 수 있는 신문을 지향하고, 새로운 사회 트렌드와 독자의 목소리를 반영해 신속하고 정확한 뉴스를 전달합니다. sports.donga.com 이 사이트는 URL의 쿼리 부분에서 p의 값에 따라 페이지가 결정됨. 한 페이지에 기사가 20개씩 있기 때문에 p=1이면 1페이지, p=21이면 2페이지와 같은 식으로 페이지마다 20개씩 증가하게 됨. URL을 문자열의 덧셈 연산으로 만들 수도 있지만, requests.get 함수의 params 매개변수로 쿼리 변수를 추가할 수도 있음. 하지만 이번에는 각 기사로 이..
HTML 태그와 속성 제목 #태그 속성 속성 HTML에는 여러 종류의 태그와, 태그에 특정 기능이나 유형을 적용하는 속성이 있음. div라는 태그에 class와 id 속성이 각각 있는 것임. find 함수를 이용해서 찾은 어떤 태그에 속성이 무엇무엇이 있는지 확인하려면, attrs 멤버변수를 출력하면 됨. div = soup.find("div") print(div.attrs) 그리고 attrs 딕셔너리의 키로 인덱싱해서 태그의 속성에 접근할 수 있음. print(div['class']) # div태그 안에 있는 class가 어떤 태그인지 출력 href 속성 a 태그는 하이퍼링크를 걸어주는 태그로써 이동할 URL을 href 속성에 담고 있음. 기사 제목 그래서, a 태그를 먼저 찾고 그 다음에 해당 a 태..
이 뉴스 웹사이트는 각 페이지의 URL에서 p=(숫자) 부분이 20씩 증가하고 있는 규칙이 있음. 이 사이트에서 여러 페이지를 크롤링하려면 어떻게 해야할까? 쉬운 방법으로는, URL을 문자열 연산으로 처리해서 새로운 URL을 얻는 방법이 있어. for i in range(0, 5): url = "http://sports.dong.com/ent?p="+str((i*20_1)) ... 하지만, URL의 쿼리를 이용한다면 이 작업을 더 효과적으로 할 수 있음. 쿼리(Query) : 웹 서버에 GET 요청을 보낼 때, 조건에 맞는 정보를 표현하기 위한 변수. ex 1) 번호가 1번인 학생을 보여줘 -> '번호'가 쿼리가 됨. ex 2) 전체 기사 중 페이지가 21인 기사들을 보여줘 -> '페이지'가 쿼리가 됨...
커뮤니티 댓글 수집하기 커뮤니티 댓글을 수집하여 출력해보기. 댓글 영역의 텍스트 데이터만 출력. 사용 URL 주소 :https://pann.nate.com/talk/350939697 우리집 댕댕이 털 긴게 더 이쁘죠 ㅎㅎ pann.nate.com 출력 예시 댓글 1 댓글 2 팁 \t 문자는 탭 문자. 이번 실습에서 크롤링한 데이터를 그대로 출력하면 읽기 어려울 수 있음. replace()를 하기 전에 추출한 값을 print() 해보면 대체해야 하는 특정 값을 확인 할 수 있음. 어떤 문자열 변수 text가 있을 때, 아래처럼 작성하면 탭 문자와 개행 문자를 제거한 text 변수를 출력할 수 있음. text.replace("\t", "").replace("\n", "") import requests fro..