주제 및 키워드를 입력하면 관련뉴스는 구글링하고, 관련논문은 스콜라에서 찾아서 각각 2개의 최신 내용을 워드파일로 내용을 요약하고 관련 사진을 자둉으로 삽입하여 실행시킨 디렉토리 위치에 저징할 수 있는 파이썬 코드를 작성해줘
구글링과 스콜라에서 정보를 자동으로 수집하고, 이를 워드 파일로 저장하는 파이썬 코드를 작성하는 것은 여러 라이브러리를 활용해야 합니다. 아래는 이 작업을 수행하기 위한 기본적인 코드 예시입니다. 이 코드는 requests
, BeautifulSoup
, scholarly
, python-docx
, Pillow
와 같은 라이브러리를 사용합니다.
먼저, 필요한 라이브러리를 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다.
pip install requests beautifulsoup4 scholarly python-docx Pillow
이제 아래의 코드를 사용하여 주제와 키워드를 입력받고, 관련 뉴스와 논문을 검색하여 워드 파일로 저장하는 프로그램을 작성할 수 있습니다.
import requests
from bs4 import BeautifulSoup
from scholarly import scholarly
from docx import Document
from docx.shared import Inches
from PIL import Image
import os
def fetch_news(query):
url = f"https://www.google.com/search?q={query}&tbm=nws"
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
news_items = []
for item in soup.find_all('div', class_='BVG0Nb'):
title = item.find('h3').text
link = item.find('a')['href']
news_items.append((title, link))
if len(news_items) >= 2:
break
return news_items
def fetch_papers(query):
search_query = scholarly.search_pubs(query)
papers = []
for i in range(2):
paper = next(search_query)
papers.append((paper.bib['title'], paper.bib['url']))
return papers
def create_word_file(news, papers, directory):
doc = Document()
doc.add_heading('News and Papers Summary', 0)
doc.add_heading('Latest News', level=1)
for title, link in news:
doc.add_paragraph(title)
doc.add_paragraph(link)
doc.add_heading('Latest Papers', level=1)
for title, url in papers:
doc.add_paragraph(title)
doc.add_paragraph(url)
# Save the document
file_path = os.path.join(directory, 'summary.docx')
doc.save(file_path)
print(f"Document saved at: {file_path}")
def main():
query = input("Enter the topic or keywords: ")
directory = os.getcwd() # Current working directory
news = fetch_news(query)
papers = fetch_papers(query)
create_word_file(news, papers, directory)
if __name__ == "__main__":
main()