티스토리 뷰
728x90
[원하는 주제와 관련된 최근 기사를 크롤링해 보겠습니다.]
먼저 네이버 기사 검색 url양식을 따오면
(search.naver.com/search.naver?sm=tab_hty.top&where=news&query="+article)과 같은 양식임을 확인할 수 있습니다.
기사의 제목을 따기위해 양식을 확인하고 그에 맞는 정보를 가져옵니다. <코드 :16번줄>
따온 내용들이 모두 news_title로 들어가 있을텐데, 필요없는 내용들을 슬라이싱으로 잘라내 진짜 "제목"만 남깁니다.
import requests
from bs4 import BeautifulSoup
from datetime import datetime
article = str(input())
try:
url = "https://search.naver.com/search.naver?sm=tab_hty.top&where=news&query="+article
names = '네이버 기사'
data = []
articles = []
titles = []
articles_link = []
data_remove = []
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
news_titles = soup.select('.type01 li dt a[title]')
for title in news_titles:
title = str(title).split("title")[2]
title = str(title).split(">")[0]
title = str(title).replace("=","")
articles.append(title)
for href in soup.find("div", class_="news mynews section _prs_nws").find_all("ul"):
articles_link.append(href.find("a")["href"])
except:
article = "해당 기사를 찾을 수 없습니다."
names = "X"
articles[0] = "X"
articles[1] = "X"
articles[2] = "X"
articles_link[1] = "X"
articles_link[2] = "X"
articles_link[3] = "X"
print("{} 기사 관련 정보".format(article))
print("기사 제목:{} \n링크: {} \n기사 제목: {} \n링크: {} \n기사 제목: {} \n링크: {}".format(articles[0], articles_link[1], articles[1], articles_link[2],articles[2],articles_link[3]))
실행 결과입니다:
링크: 에 하이퍼 텍스트가 살아있어서 누르면 해당 기사로 이동됩니다.
※해당 사이트의 robots.txt를 찾아보면
User-agent: * Disallow: /search
이므로 이 포스팅은 공부 참고용으로만 사용해주시기를 권장합니다! ※
'프로그래밍 > python' 카테고리의 다른 글
[Python] 티쳐블 머신을 핸드폰 카메라와 사용해보자 (8) | 2020.12.23 |
---|---|
[Python] 구글 이메일로 이미지 보내기 (2) | 2020.10.23 |
[Python] zoom 자동으로 들어가서 채팅치기 (0) | 2020.09.14 |
[Python]공유기 사용자에게 패킷 보내고 받기 (0) | 2020.09.08 |
[Python] 이미지 이어붙이기 프로그램 제작하기 (2) | 2020.07.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 도전
- 사칙연산
- Codeup
- 아나콘다
- 주석
- 1255
- 1252
- 컨트롤타임
- localstorage
- 코드업
- JavaScript
- django
- Python
- 2022.02.05
- 1254
- 바닐라 js
- 코드설명
- 1251
- promise반환
- pygame
- 바닐라 javascript
- 타이탄의도구들
- SMTP
- 티처블 머신
- 문제풀이
- 1253
- Anaconda
- notion api
- 크롤링
- 꿈두레
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함