인프런 커뮤니티 질문&답변
네이버 일반 뉴스 페이지의 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`는 그룹 마지막 요소를 선택합니다.





