DevSSOM
파이썬 크롤링 실습 - 네이트 최신뉴스 링크 수집하기 본문
반응형
네이트 최신뉴스 href 수집하기
웹 페이지 href 링크들을 수집하여 리스트형 변수 list_href에 담아 출력해보기.
https://news.nate.com/recent?mid=n0100
출력 예시
[href1, href2, ----]
해야할 것
- a 태그가 있는 div 태그 및 class를 찾기.
- find("a")["href"]로 속성값 href의 데이터를 추출.
- 추출한 href 문자열 앞에 "https:" 를 앞에 붙여 완벽한 링크로 만들기.
import requests
from bs4 import BeautifulSoup
def get_href(soup) :
# 각 기사에 접근할 수 있는 href를 리스트로 반환
return None
def main() :
list_href = []
# href 수집할 사이트 주소 입력
url = "https://news.nate.com/recent?mid=n0100"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
list_href = get_href(soup)
print(list_href)
if __name__ == "__main__" :
main()
>>>
크롬에서 구글 검사로 네이트 뉴스 HTML 확인. 링크를 담은 <a>태그는 <div class="mlt01">에 담겨있고, 또 위로 올라가보면, <div class="mduSubjectList">와 더 위에 <div class="postSubjectContent">에 속해있음. 보니까<div class="mduSubjectList">가 하나의 기사 각각을 나타내고 있음. 그래서 우리는 <div class="mduSubjectList">를 먼저 찾고, 그 속에 있는 <a>태그의 하이퍼링크를 찾는 걸로.
def get_href(soup) :
# 각 기사에 접근할 수 있는 href를 리스트로 반환
div_list = soup.find_all("div", class_="mduSubjectList")
for div in div_list:
print(div.find("a")["href"])
그런데 앞에 https:가 빠져서 출력이 되니까 이걸 넣어주고, 결과값들도 리스트에 넣어주는걸로 코드를 수정.
def get_href(soup) :
# 각 기사에 접근할 수 있는 href를 리스트로 반환
div_list = soup.find_all("div", class_="mduSubjectList")
result = []
for div in div_list:
result.append("https:" + div.find("a")["href"])
return result
최종 코드
import requests
from bs4 import BeautifulSoup
def get_href(soup) :
# 각 기사에 접근할 수 있는 href를 리스트로 반환
div_list = soup.find_all("div", class_="mduSubjectList")
result = []
for div in div_list:
result.append("https:" + div.find("a")["href"])
return result
def main() :
list_href = []
# href 수집할 사이트 주소 입력
url = "https://news.nate.com/recent?mid=n0100"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
list_href = get_href(soup)
print(list_href)
if __name__ == "__main__" :
main()
728x90
반응형
'Python > 크롤링' 카테고리의 다른 글
파이썬 크롤링 실습 - 네이버 뉴스 섹션들 기사 내용 추출하기 (0) | 2021.07.03 |
---|---|
파이썬 크롤링 실습 - 네이버 뉴스 섹션들 기사 링크 추출하기 (0) | 2021.07.02 |
파이썬 크롤링 실습 - 뉴스기사 목록의 내용 수집하기 (0) | 2021.07.01 |
파이썬 크롤링 실습 - 뉴스기사 링크 수집하기 (0) | 2021.06.29 |
파이썬 크롤링 실습 - 여러 페이지의 기사 제목 수집하기 (0) | 2021.06.28 |
파이썬 크롤링 - HTML 태그 속성 (0) | 2021.06.27 |
파이썬 크롤링 - 쿼리 개념 (0) | 2021.06.26 |
댓글