Published 2020. 12. 23. 13:48
728x90
반응형

Web Scraping

웹 상의 데이터를 추출하는 것

 

 

네이버 뉴스 기사의 페이지 넘버 가져오기 

main.py

from naver import extract_naver_pages, extract_naver_news

last_naver_pages = extract_naver_pages()

naver_news = extract_naver_news(last_naver_pages)

 

naver.py

import requests
from bs4 import BeautifulSoup

URL = "https://search.naver.com/search.naver?&where=news&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90&sm=tab_pge&sort=1&photo=0&field=0&reporter_article=&pd=6&ds=2020.06.23&de=2020.12.20&docid=&nso=so:dd,p:6m,a:all&mynews=0"

def extract_naver_pages():
    result = requests.get(URL)

    soup = BeautifulSoup(result.text, "html.parser")

    # find로 찾은 결과를 sc_page_inner 변수에 넣고 리스트를 만들어 pages 변수에 넣어주기
    sc_page_inner = soup.find("div", {"class": "sc_page_inner"})  #페이징이 있는 클래스 찾기

    links = sc_page_inner.find_all('a')  #페이지를 알기 위해 모든 a태그 찾기 (여기서 pages는 list임)
    pages = []

    for link in links:
        pages.append(int(link.string))

    max_page = pages[-1]
    return max_page

def extract_naver_news(last_page):
    news = []
    for page in range(last_page):
        result = requests.get(f"{URL}&start={page*10}&refresh_start=0")
        print(result.status_code)
    return news
반응형

'프로그래밍 > Python' 카테고리의 다른 글

Web Scraping3(CSV 파일에 저장하기)  (0) 2020.12.25
Web Scraping2  (0) 2020.12.24
web Scrapping을 위한 requests와 BeautifulSoup 설치  (0) 2020.12.23
개발환경 세팅  (0) 2020.12.23
Modules  (0) 2020.12.22
복사했습니다!