크롤링이란?
받아온 데이터를 솎아내는 것
1. 요청하기 (코드 단에서)
2. 원하는 정보만 솎아내기
크롤링 기본 개념
movies = soup.select('#old_content > table > tbody > tr')
'#old_content > table > tbody > tr' 이 부분은 크롬 개발자 도구 창에서 커서를 움직이며 원하는 부분을 긁어온다.
원하는 부분을 긁어올때는 마우스 오른쪽 클릭 > copy selector로 복사하면 된다.
우선, 위의 코드는 네이버 영화 순위 페이지를 크롤링 한것인데 1위에 해당하는 부분과 2위에 해당하는 부분을 비교하며 공통된 부분을 찾아 복사하였다.
이렇게 해도 되고,
# 선택자를 사용하는 방법 (copy selector)
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명')
soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')
# 태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')
이렇게 해도 된다.
(근데 좀 복잡한듯..)
위의 select에서 특정 부분을 긁어오는 것으로,
for movie in movies:
# movie 안에 a 가 있으면,
a_tag = movie.select_one('td.title > div > a')
if a_tag is not None:
# a의 text를 찍어본다.
print (a_tag.text)
이것 역시 크롬 개발자 도구를 이용해서 아래 위 비교해가며 긁어오면 된다.
여기서, .text는 selesc.one으로 긁어온 부분을 text만 보여주는 것이다.
아마 연습만이 익숙해지는 길인듯..!