맥에서 작업할때랑 윈도우에서 작업할때 맞춰가지고 명령어가 pip가 됬다가 pip3가 됬다가 할거같은데 이건 어쩔 수 없을거같다.
일단 pip를 통해 requests와 BeautifulSoup를 설치해준다. requests는 http request를 전송해주고 BeautifulSoup는 html을 파싱해서 쓰기 편하게 해주는 프로그램이다. 그냥 찾아보니까 파이썬에서 제일 많이 쓰는 코드라서 나도 사용하기로 한다 😀
1 2 |
pip3 install requests pip3 install BeautifulSoup4 |
크롬에서 개발자 도구로 크롤링할 테이블의 태그 id 를 확인한다.
찾을 테이블은 div로 이루어져있고 list_content라는 클래스로 이루어져있다. 그 안에 각 줄은 list_item symph_row로 이루어져있다 soup.find(테이블).find_all(각 행)으로 입력을 하면 해당 객체를 배열 형태로 받을 수 있다.
1 |
listTable = soup.find("div", {"class": "list_content"}).find_all("div", {"class", "list_item symph_row"}) |
listTable에 배열형태의 각 행이 있는데 for문으로 그 안의 객체를 하나씩 꺼낸 후 제목, 카테고리, 링크로 나누어 저장 할 수 있다! 프린트 하면 결과를 볼 수 있다!!
1 2 3 |
category = listRow.find("span", {"class": "category_fixed"}).text title = listRow.find("span", {"class", "subject_fixed"}).text.strip() link = listRow.find("a", {"class", "list_subject"})["href"] |
중괄호 없이 들여쓰기로 개발하는 언어를 굉장히 안 좋아했는데 파이썬을 써보니까 정말 코드량이 확 줄어서 사람들이 왜 쓰는지 알거 같다.
이대로 얼른 개발해서 어서 빨리 자연어 처리까지 시작해보면 좋을거 같다
작업한 코드는 아래 링크로 가면 확인 할 수 있다.
https://github.com/rurara/A-Lot-Code/commit/c2cb416feccb0338b0eec82cafcfb00cce72da62