본문 바로가기
App Programming/Web Crawler

[Web Crawler] 네이버 블로그 / 뉴스 크롤링

by goatlab 2022. 9. 29.
728x90
반응형
SMALL

네이버 블로그 크롤링

 

# 블로그 본문 크롤링
import time
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.common.exceptions import NoSuchElementException,StaleElementReferenceException

driverPath = 'chromedriver.exe'
driver = webdriver.Chrome(os.path.abspath(driverPath))
driver.implicitly_wait(3)
# 크롤링 결과를 data frame으로 저장
import pandas as pd 

titles.pop(4)

df = pd.DataFrame({'제목':titles,'링크':blog_links,'내용':contents})
df

df.columns
Index(['제목', '링크', '내용'], dtype='object')
df['제목']
0    [<b>배트맨<\/b> 코믹스] <b>배트맨<\/b> : 올빼미 법정 &amp; 올...
1                        DC 슈퍼맨+<b>배트맨<\/b> 퓨전 캐릭터 재등장
2                   영화 더<b>배트맨<\/b> 출연진 등장인물 배트모빌 번역 흑
3    가장 인간적인 <b>배트맨<\/b>의 탄생 : 영화 &lt;더 <b>배트맨<\/b>...
4         DC 신작 &apos;더 <b>배트맨<\/b>&apos; 관련 추가 소식(스포)
5      DC 영화 더 <b>배트맨<\/b> 전세계 박스오피스 흥행 성적이 5억 달러를... 
6              <b>배트맨<\/b> 아캄시티 명작 액션 어드벤처 PC게임 추천 시리즈
7                 #반다이#<b>배트맨<\/b>#BANDAI#BATMAN#프라모델#
8             &lt;더 <b>배트맨<\/b>&gt; - 정의(正義)를 정의(定義)하다
Name: 제목, dtype: object
# select a row
df.iloc[0]
제목    [<b>배트맨<\/b> 코믹스] <b>배트맨<\/b> : 올빼미 법정 &amp; 올...
링크        https://blog.naver.com/zjwalangz/222850168870
내용    Batman : The Court of Owls\nBatman : The City ...
Name: 0, dtype: object
df.iloc[0]['내용']

 

네이버 뉴스 크롤링

 

# 네이버 뉴스 검색 기사 목록
from bs4 import BeautifulSoup
import requests
import sys

# 관심있는 페이지를 입력
page = input()
page = int(page)
page
# start를 1, 11, 21, ... 생성하는 코드
page_num = 0

if page == 1:
    page_num = 1
    
elif page == 0:
    page_num = 1

else:
    page_num = page + 9 * (page - 1)
    
#url 생성
url = "https://search.naver.com/search.naver?where=news&sm=tab_pge&query=" + "배트맨" + "&start=" + str(page_num)
print("생성url: ", url)
# html 불러오기
original_html = requests.get(url)
html = BeautifulSoup(original_html.text, "html.parser")
html
# 검색 결과
articles = html.select("div.group_news > ul.list_news > li div.news_area > a")
print(articles)
# 검색된 기사의 갯수
print(len(articles), "개의 기사가 검색됌.")
728x90
반응형
LIST