[python] 파이썬 네이버뉴스 헤드라인 가져오기

news.naver.com/main/list.nhn?mode=LPOD&mid=sec&sid1=01&sid2=140&oid=001&isYeonhapFlash=Y&aid=0011991977

위 사이트에서 헤드라인결과만 출력해보겠습니다.

 

위의 뉴스와 같은 내용이 출력되는것을 확인할 수 있습니다.


코드

import urllib.request, urllib.parse, urllib.error
from bs4 import BeautifulSoup
import requests

requests 포함 import


url = 'https://news.naver.com/main/list.nhn?mode=LPOD&mid=sec&sid1=001&sid2=140&oid=001&isYeonhapFlash=Y&aid=0011991977'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36' }
html = requests.get(url,headers = headers)
soup = BeautifulSoup(html.text,'html.parser')

기존 방식으로 하면 에러나기때문에 ( 사이트 문제인지 이유는 모르겠음 ) headers추가하고 urlopen대신 requests를 사용 했습니다.

headers에는 {'User-Agent' : 'useragent정보' } 를 넣어주면됩니다.
User-Agent정보는 개발자도구 -> console탭에서 >navigator.userAgent라고 입력하면 확인할 수 잇습니다.


temp = soup.select('a')

for i in range(42,58):
    print(temp[i].string)

네이버 뉴스 헤드라인의 태그를 보면 a 태그로 되어있는것을 확인할 수 있는데 태그에 함수가 같이 있어 select()로 추출할 수가 없습니다 ( 다른 방법 있을수도 있지만 본인은 모르겠음.. )

모든 <a>태그를 추출해오면 굉장히 많은 <a>태그를 가져오는것을 확인할 수 있는데 헤드라인 시작 index와 끝나는 index를 수동으로 찾아내서 추출해보았습니다.

 

 

댓글

Designed by JB FACTORY