<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0</id>
	<title>네이버 실시간뉴스 텔레그램으로 받기 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;action=history"/>
	<updated>2026-05-18T01:12:31Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=686&amp;oldid=prev</id>
		<title>Devcafe: /* 네이버 실시간 뉴스 텔레그램을 받아보기 */</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=686&amp;oldid=prev"/>
		<updated>2024-10-22T15:56:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;네이버 실시간 뉴스 텔레그램을 받아보기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024년 10월 23일 (수) 00:56 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 네이버 실시간 뉴스 텔레그램을 받아보기 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 네이버 실시간 뉴스 텔레그램을 받아보기 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=필요한 라이브러리&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=682&amp;oldid=prev</id>
		<title>2024년 10월 22일 (화) 15:55에 Devcafe님의 편집</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=682&amp;oldid=prev"/>
		<updated>2024-10-22T15:55:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024년 10월 23일 (수) 00:55 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;2번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;2번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=680&amp;oldid=prev</id>
		<title>Devcafe: /* 네이버 실시간 뉴스 텔레그램을 받아보기 */</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=680&amp;oldid=prev"/>
		<updated>2024-10-22T15:54:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;네이버 실시간 뉴스 텔레그램을 받아보기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024년 10월 23일 (수) 00:54 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;2번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;2번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목=필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;----&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=679&amp;oldid=prev</id>
		<title>Devcafe: /* 네이버 실시간 뉴스 텔레그램을 받아보기 */</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=679&amp;oldid=prev"/>
		<updated>2024-10-22T15:54:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;네이버 실시간 뉴스 텔레그램을 받아보기&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2024년 10월 23일 (수) 00:54 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 네이버 실시간 뉴스 텔레그램을 받아보기 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 네이버 실시간 뉴스 텔레그램을 받아보기 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{틀:요약&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;: &lt;/del&gt;필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|제목&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/ins&gt;필요한 라이브러리  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# requests (특정 url의 html 문서 받기)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=678&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: == 네이버 실시간 뉴스 텔레그램을 받아보기 == {{틀:요약 |제목: 필요한 라이브러리  # requests (특정 url의 html 문서 받기) # BeautifulSoup (html 문서에서 원하는 요소 선택적 추출) # python-telegram-bot (뉴스 링크를 텔레그램 봇으로 채팅방에 전송) }}  &lt;source lang=python&gt; #step1.라이브러리 불러오기 import  requests from  bs4  import  BeautifulSoup  as  bs import  telegram import  schedule import  time  #step...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%EB%84%A4%EC%9D%B4%EB%B2%84_%EC%8B%A4%EC%8B%9C%EA%B0%84%EB%89%B4%EC%8A%A4_%ED%85%94%EB%A0%88%EA%B7%B8%EB%9E%A8%EC%9C%BC%EB%A1%9C_%EB%B0%9B%EA%B8%B0&amp;diff=678&amp;oldid=prev"/>
		<updated>2024-10-22T15:54:11Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == 네이버 실시간 뉴스 텔레그램을 받아보기 == {{틀:요약 |제목: 필요한 라이브러리  # requests (특정 url의 html 문서 받기) # BeautifulSoup (html 문서에서 원하는 요소 선택적 추출) # python-telegram-bot (뉴스 링크를 텔레그램 봇으로 채팅방에 전송) }}  &amp;lt;source lang=python&amp;gt; #step1.라이브러리 불러오기 import  requests from  bs4  import  BeautifulSoup  as  bs import  telegram import  schedule import  time  #step...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 네이버 실시간 뉴스 텔레그램을 받아보기 ==&lt;br /&gt;
{{틀:요약&lt;br /&gt;
|제목: 필요한 라이브러리 &lt;br /&gt;
# requests (특정 url의 html 문서 받기)&lt;br /&gt;
# BeautifulSoup (html 문서에서 원하는 요소 선택적 추출)&lt;br /&gt;
# python-telegram-bot (뉴스 링크를 텔레그램 봇으로 채팅방에 전송)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=python&amp;gt;&lt;br /&gt;
#step1.라이브러리 불러오기&lt;br /&gt;
import  requests&lt;br /&gt;
from  bs4  import  BeautifulSoup  as  bs&lt;br /&gt;
import  telegram&lt;br /&gt;
import  schedule&lt;br /&gt;
import  time&lt;br /&gt;
&lt;br /&gt;
#step2.새로운 네이버 뉴스 기사 링크를 받아오는 함수&lt;br /&gt;
def  get_new_links(old_links=[]):&lt;br /&gt;
&lt;br /&gt;
    # (주의) 네이버에서 키워드 검색 - 뉴스 탭 클릭 - 최신순 클릭 상태의 url&lt;br /&gt;
    url  = f&amp;#039;https://search.naver.com/search.naver?where=news&amp;amp;query={query}&amp;amp;sm=tab_opt&amp;amp;sort=1&amp;amp;photo=0&amp;amp;field=0&amp;amp;pd=0&amp;amp;ds=&amp;amp;de=&amp;amp;docid=&amp;amp;related=0&amp;amp;mynews=0&amp;amp;office_type=0&amp;amp;office_section_code=0&amp;amp;news_office_checked=&amp;amp;nso=so%3Add%2Cp%3Aall&amp;amp;is_sug_officeid=0&amp;#039;&lt;br /&gt;
&lt;br /&gt;
    # html 문서 받아서 파싱(parsing)&lt;br /&gt;
    response  =  requests.get(url)&lt;br /&gt;
    soup  =  bs(response.text , &amp;#039;html.parser&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    # 해당 페이지의 뉴스기사 링크가 포함된 html 요소 추출&lt;br /&gt;
    news_titles  =  soup.select(&amp;#039;a.news_tit&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    # 요소에서 링크만 추출해서 리스트로 저장&lt;br /&gt;
    list_links  = [i.attrs[&amp;#039;href&amp;#039;] for  i  in  news_titles]&lt;br /&gt;
&lt;br /&gt;
    # 기존의 링크와 신규 링크를 비교해서 새로운 링크만 저장&lt;br /&gt;
    new_links  = [link  for  link  in  list_links  if  link  not  in  old_links]&lt;br /&gt;
&lt;br /&gt;
    return  new_links&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#step3.새로운 네이버 뉴스 기사가 있을 때 텔레그램으로 전송하는 함수&lt;br /&gt;
def  send_links():&lt;br /&gt;
    # 함수 내에서 처리된 리스트를 함수 외부에서 참조하기 위함&lt;br /&gt;
    global old_links&lt;br /&gt;
&lt;br /&gt;
    # 위에서 정의했던 함수 실행&lt;br /&gt;
    new_links  =  get_new_links(old_links)&lt;br /&gt;
&lt;br /&gt;
    # 새로운 메시지가 있으면 링크 전송&lt;br /&gt;
    if  new_links:&lt;br /&gt;
        for  link  in  new_links:&lt;br /&gt;
            bot.sendMessage(chat_id=chat_id, text=link)&lt;br /&gt;
&lt;br /&gt;
    # 없으면 패스&lt;br /&gt;
    else:&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
    # 기존 링크를 계속 축적하기 위함&lt;br /&gt;
&lt;br /&gt;
    old_links +=  new_links.copy()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# 실제 프로그램 구동&lt;br /&gt;
if  __name__  ==  &amp;#039;__main__&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
    #토큰을 변수에 저장&lt;br /&gt;
    bot_token  =&amp;#039;자신이 발급받은 봇의 토큰&amp;#039;&lt;br /&gt;
    bot  =  telegram.Bot(token  =  bot_token)&lt;br /&gt;
&lt;br /&gt;
    #가장 최근에 온 메세지의 정보 중, chat id만 가져옴 (이 chat id는 사용자(나)의 계정 id임)&lt;br /&gt;
    chat_id  =  bot.getUpdates()[-1].message.chat.id&lt;br /&gt;
&lt;br /&gt;
    #step4.검색할 키워드 설정&lt;br /&gt;
    query  =  input(&amp;#039;크롤링 할 뉴스기사 키워드를 입력하세요: &amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    #위에서 얻은 chat id로 bot이 메세지를 보냄.&lt;br /&gt;
    bot.sendMessage(chat_id  =  chat_id, text=f&amp;quot;{query}를 주제로 뉴스 기사 크롤링이 시작 되었습니다&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    #step5.기존에 보냈던 링크를 담아둘 리스트 만들기&lt;br /&gt;
    old_links  = []&lt;br /&gt;
&lt;br /&gt;
    # 주기적 실행과 관련된 코드 (hours는 시, minutes는 분, seconds는 초)&lt;br /&gt;
    job  =  schedule.every(10).seconds.do(send_links)&lt;br /&gt;
&lt;br /&gt;
    while  True:&lt;br /&gt;
        schedule.run_pending()&lt;br /&gt;
        time.sleep(1)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>