사용 언어 Python
사용 툴 Jupyter Notebook
사용 라이브러리 Pandas, BeautifulSoup, Sklearn
목표 네 개의 기사 본문을 크롤링하여 TF-iDF를 기반으로 주요 키워드를 추출하기
라이브러리를 불러옵니다.
from bs4 import BeautifulSoup
import requests
import re
import pandas as pd
크롤링에 사용할 user-agent를 가져옵니다.
크롬에서 검사 > console > navigator.userAgent 입력하면 user-agent를 얻을 수 있습니다.
user_agent = "Mozilla/5.0 (생략)'"
headers = {'User-Agent':user_agent}
user-agent(사용자 에이전트)
사용자의 브라우저, 운영체제 등 정보를 담고 있는 문자열
참고로 가짜 user-agent를 생성해 크롤링하는 방법도 있습니다.
크롤링 대상이 될 네 개 기사의 url을 입력했습니다. requests를 사용해 첫번째 기사의 html 소스를 가져왔습니다.
urls = ['https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=101&oid=119&aid=0002402191',
'https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=102&oid=014&aid=0004424362',
'https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=105&oid=018&aid=0004430108',
'https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=101&oid=001&aid=0011614790']
resp = requests.get(urls[0], headers=headers)
print(list(resp))
요청(requests)에 대한 응답(response)입니다. 응답 객체인 resp를 list 형식으로 읽어보았습니다.
이어서 작성
'인공지능 > Natural Language Process' 카테고리의 다른 글
Natural Language Processing with Classification and Vector Spaces: sentiment analysis with Naive Bayes(1) (0) | 2022.05.24 |
---|---|
Logistic Regression 퀴즈 풀이 (0) | 2022.05.22 |
Natural Language Processing with Classification and Vector Spaces: sentiment analysis with logistic regression (0) | 2022.05.19 |
Natural Language Processing 특화 과정 (0) | 2022.05.19 |
[번역] cyBERT (0) | 2021.04.22 |