본문 바로가기

DATA/Python

[python] 웹페이지 크롤링 태그, 클래스, 아이디

크롤링을 할 때 가장 기본적으로 알아야할 것은 태그, 클래스, 아이디를 구분하는 것입니다.

크롤링하고자 하는 웹 페이지에 들어갑니다.

저는 네이버 뉴스에서 '토트넘'을 검색하여 제목, 내용, 이미지를 크롤링할 예정입니다.

 

 

 

① "마우스 우클릭 → 검사" 또는 "F12"를 누르면

    개발자 도구가 나타납니다.

 

 

 

② 빨간색 밑줄 친 곳 클릭하시고 자기가 크롤링하려는 부분에 마우스를 가져가면

 

 

 

③  태그와 클래스를 알 수 있습니다.

    위에 나타나있는 것처럼 네이버 뉴스 기사 제목의 태그는 a 이고, 클래스는 news_tit 입니다.

 

    또는 우클릭하여 copy → copy selector를 눌러도 알 수 있습니다. 

#sp_nws31 > div > div > a

 

 

 

📌하지만 이렇게 selector를 한 요소에 특정해버리면 

    for문을 사용하여 여러개를 크롤링할 때는 어려움이 있을 수 있습니다!!

 

    한 페이지에 나타나는 뉴스 기사는 총 10개인데,

    첫번째 기사 제목 css selector는 

#sp_nws31 > div > div > a

 

    두번째 기사 제목 css selector는 또 다르기 때문입니다.

#sp_nws32 > div.news_wrap.api_ani_send > div > a

    세번째 네번째도 다르겠지요

 

    따라서 크롤링을 할 때는 태그와 클래스 구분법은 꼭 알아두시는 것이 좋습니다. 

 

 

 

④ 마지막으로 태그와 클래스명은 "."으로 구분합니다.

    따라서 "a.news_tit"로 구분하여 작성해야합니다.

soup.select("a.news_tit")
driver.find_element_by_css_selector("a.news_tit")