[Python] [크롤링] 기본개념 1

doyeonlee·2022년 2월 6일
0

개발일지 2022

목록 보기
7/16
post-thumbnail

크롤링이란?

받아온 데이터를 솎아내는 것
1. 요청하기 (코드 단에서)
2. 원하는 정보만 솎아내기


크롤링 기본 개념

select

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_one

위의 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만 보여주는 것이다.


아마 연습만이 익숙해지는 길인듯..!

profile
느려도 천천히 꼼꼼하게 !

0개의 댓글