인프런 - 강의/초간단 초스피드 데이터 수집 (파이썬 크롤링) 15

15 - 정리

처음에 beatifulsoup를 이용해 네이버 인기검색어와, 네이트판 사이트를 크롤링해봤습니다. 위와 같이 몇줄 되지도 않는 코드로 잘 크롤링을 했었구요 그 다음 셀레니움이라는 것을 배워봤습니다. 각각 항목을 찾아 들어가서 click()이라는 것으로 클릭을 해 봤었고 크롤링한 정보가 예쁘게 나오지 않을 경우, 텍스트 가공 법을 배워서 잘 가공하는 것도 연습해봤고 엑셀에 있는 값을 불러오고, 저장하는 것들도 해봤습니다. 이렇게 다양하게 처리할 수 있었습니다. 다만 실전에서 크롤링 할 때는, 저희가 강의에서 다 설명드리지 못한 다양한 경우가 있습니다. 실제로 크롤링을 하실 때 쉽게 안 된다고 포기하지 마시고 검색을 통해서 하나씩 해결해나가면 좋을 것 같습니다. 기회가 된다면 크롤링 심화 강의도 제작해보겠습니..

14 - 실전 크롤링 연습 selenium

네이버 쇼핑에 있는 초밥세트 제목들을 가져와겠습니다. 여기 사이트의 것들도 가져오고 옆의 항목들(가격비교, 네이버페이, 백화점쇼핑, 핫딜) 등등도 가져올 수 있습니다. 셀레니움을 사용해서 작업해볼껀데 한번 같이 해보겠습니다. 일단 아래와 같은 코드로 정보를 가져올 수 있습니다. 그런데 검색을 해 보면, 가격비교에 있는 것들의 내용이 안 나옵니다. 그래서 find_element_by_class_name으로 클래스 명을 찾아서 click을 해주고 난 다음 크롤링을 진행합니다. 전체 코드 from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Chrome('./chromedriver') driver.implicitly_wa..

13 - 실전 크롤링 beatifulSoup

이제 실전적으로 한번 크롤링을 해 보겠습니다. 네이버 뉴스로 들어가면, 나오는 뉴스 기사들을 beatifulSoup를 이용해서 크롤링 해 보겠습니다. 다음시간에는 셀레니움을 사용해서 크롤링해 보겠습니다. 이렇게 네이버 인기 검색어를 뽑아낼 수도 있구요 url의 query="" 이 부분의 값을 약간 변경해서 검색어를 변경할 수도 있습니다. 그렇다면, 얘네들의 값을 5페에지까지 가져와볼까요? url의 값을 받아와서 한번 돌려줍니다. 이렇게 해서 크롤링 할 수 있습니다. 아래는 전체 코드 import requests from bs4 import BeautifulSoup req = requests.get("https://search.naver.com/search.naver?where=news&sm=tab_jum..

12 - 드디어 엑셀로 저장, 불러오기 (2)

이번에는 엑셀에 있는 값을 불러오는 것을 해 보겠습니다. 저번시간에 엑셀 파일을 쓰는 것을 배웠는데, 엑셀파일을 읽고 난 후 파이썬 코드로 데이터를 수정한 후, 엑셀에 다시 저장하는 것도 가능하겠죠? 엑셀에 있는 값을 읽어오는 것들을 한번 해 보겠습니다. 이런 형태의 엑셀의 값을 읽어올텐데 이 부분의 값을 읽어오면 (2,1)에 있는 2월 1일의 값을 읽어옵니다. 2019-02-01 00:00:00 2019-02-02 00:00:00 2019-02-03 00:00:00 2019-02-04 00:00:00 2019-02-05 00:00:00 2019-02-06 00:00:00 위와 같은 코드를 출력했을 때, 이렇게 나옵니다. 자, 그렇다면 반복문을 통해서도 가져올 수 있습니다. # 엑셀을 읽기 위한 준비과정..

11 - 드디어 엑셀로 저장, 불러오기

이번에는 엑셀로 저장하는 것을 해 보겠습니다. 엑셀에 글을 써서 test.xlsx라고 저장하면 이렇게 콤마로 찍을 수 있습니다. 이렇게 반복문을 사용할 수도 있고 이제 크롤링 해온 내용들을 한번 엑셀에 저장해보겠습니다. 아래는 코드 입니다. # 엑셀을 쓰기 위한 준비과정들 import requests from bs4 import BeautifulSoup req = requests.get('http://www.naver.com') soup = BeautifulSoup(req.text, 'html.parser') naver_list = [] for i in soup.select("#PM_ID_ct > div.header > div.section_navbar > div.area_hotkeyword.PM_CL_..

10 - 간단한 텍스트 가공법

크롤링을 하다 보면, 데이터가 예쁘게 나오지 않는 경우가 있습니다. 그럴 때를 대비한 간단한 텍스트 가공 방법에 대해서 알아보겠습니다. myinfo = "나왔어염뿌우^^" print(myinfo[0]) print(myinfo[1]) print(myinfo[4:6]) myinfo2 = "나왔어 뿌우^^" print(myinfo2.split(" ")) print(myinfo2.split(" ")[0]) print(myinfo2.split(" ")[1]) 나 왔 뿌우 ['나왔어', '뿌우^^'] 나왔어 뿌우^^ 이렇게 출력이 됩니다. myspace = " 양쪽에 띄워쓰기 1" print(myspace) print(myspace.strip()) sentence = ' 띄우쓰기 제거 해볼 까용 ' print(se..

9 - selenium 활용 (click)

일단 셀레니움 기본 코드를 써놨습니다. implicitly_wait 이 부분은 3초 쉰다고 말씀드렸는데, 페이지가 로드 되는 것 기다린다 라고 생각하시면 됩니다. 크게 신경쓸 부분은 아닙니다. 자, 그렇다면 이제 계속 해보는데, 오늘의 유머 사이트를 크롤링 해 봅니다. 여기까지 해서, html 태그를 다 뽑아올 수 있고 여기까지 해서 제목들 뽑아 올 수 있습니다. 여기에서 클릭을 통해서, 다양한 태그들을 한번 뽑아와보겠습니다. 아래와 같이 id를 찾아서 클릭해서, 사용할 수 있습니다. 코드 from bs4 import BeautifulSoup from selenium import webdriver driver = webdriver.Chrome('./chromedriver') # 3초 쉬고 driver.i..

8- selenium 사용법

이번에는 셀레니움을 사용하는 방법을 알아보겠습니다. 크롬 정보를 확인해줍니다. 그 다음에 버전에 맞는 크롬 웹 드라이버를 설치해주고 https://chromedriver.chromium.org/downloads 그런 다음, 파이썬 프로젝트에 넣어주고 얘를 실행을 한번 시켜봅니다. 그 다음 아래의 코드를 통해 네이버 로그인을 할 수 있습니다. -- 참조 https://beomi.github.io/2017/02/27/HowToMakeWebCrawler-With-Selenium/

6 - url 링크 찾아내서 크롤링

이번에는 url링크를 찾아내서 크롤링 하는 방법을 알아보겠습니다. 이번에는 동아일보 홈페이지로 갑니다 http://www.donga.com/news/List/Enter/?p=1&prod=news&ymd=&m= 이 사이트도 url의 패턴을 알아낼 수도 있기는 한데, 이번에는 다른 방법을 사용해보겠습니다. div page 아래의 a태그들을 다 찾습니다. 이렇게 받아올 수 있고 얘를 좀 더 가공하면 이렇게 됩니다. 그 다음 제목만 찾으면 되는데 그 다음에 이 2개의 코드를 합쳐주면 됩니다. 이렇게 하면 끝 :)