강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

asd203n님의 프로필 이미지
asd203n

작성한 질문수

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

선택에서 제외시키기

네이버 일반 뉴스 페이지의 HTML이 변경된것 같습니다.

해결된 질문

작성

·

577

·

수정됨

0

import requests
from bs4 import BeautifulSoup

response = requests.get(
    "https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90")
html = response.text
soup = BeautifulSoup(html, 'html.parser')
articles = soup.select("div.info_group")  # 뉴스 기사 div 10개 추출
for article in articles:
    links = article.select("a.info")  # 리스트
    if len(links) >= 2:  # 링크가 2개 이상이면
        url = links[1].attrs['href']  # 두번째 링크의 href를 추출
        response = requests.get(url, headers={'User-agent':'Mozila/5.0'})
        html = response.text
        soup = BeautifulSoup(html, 'html.parser')
        content = soup.select_one("#articleBodyContents")
        print(content.text)

본문 내용의 ID가 articleBodyContents아닙니다.

그래서 "#dic_area"로 생각해서,

변경하고 진행했는데, 강사님처럼 전체 텍스트가 출력되는게 아니라 일부만 출력됩니다.

전체 텍스트를 볼려면 어떻게 해야하나요?

퀴즈

선택자 `A + B`와 `선택자 A ~ B`의 주요 차이점은 무엇인가요?

`A + B`는 바로 뒤 형제를, `A ~ B`는 뒤 모든 형제를 선택합니다.

`A + B`는 A의 자식을, `A ~ B`는 B의 부모를 선택합니다.

`A + B`는 A의 부모를, `A ~ B`는 B의 자식을 선택합니다.

`A + B`는 그룹 첫 요소를, `A ~ B`는 그룹 마지막 요소를 선택합니다.

답변 1

0

asd203n님의 프로필 이미지
asd203n
질문자

해결됬습니다.

asd203n님의 프로필 이미지
asd203n

작성한 질문수

질문하기