크롤링을 할 때 가장 기본적으로 알아야할 것은 태그, 클래스, 아이디를 구분하는 것입니다.
크롤링하고자 하는 웹 페이지에 들어갑니다.
저는 네이버 뉴스에서 '토트넘'을 검색하여 제목, 내용, 이미지를 크롤링할 예정입니다.
① "마우스 우클릭 → 검사" 또는 "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")
'DATA > Python' 카테고리의 다른 글
[python] 데이터프레임 전체 출력 (0) | 2022.04.18 |
---|---|
[python] pandas의 loc, iloc 사용법 (0) | 2022.04.17 |
[python] pandas의 loc, iloc 차이 (0) | 2022.04.15 |
[python] selenium으로 네이버 기사 스크래핑 (0) | 2022.04.15 |
[python] beautifulsoup 네이버 기사 스크래핑 (0) | 2022.04.15 |