TIL_2020년 10월 02일 (금)
목차
1.오늘 한 일
- 자바스크립트 정리 및 TIL 작성
- 스파르타코딩클럽 파이썬 추석특강 (2일차)
- 웹스크래핑 (뉴스 제목, 언론사, URL, 썸네일주소)
- 아래는 추석 기사를 모아서 저장하는 코드입니다.
from bs4 import BeautifulSoup from selenium import webdriver from openpyxl import Workbook driver = webdriver.Chrome('./chromedriver') url = "https://search.naver.com/search.naver?where=news&sm=tab_jum&query=추석" driver.get(url) req = driver.page_source soup = BeautifulSoup(req, 'html.parser') articles = soup.select('#main_pack > div.news.mynews.section._prs_nws > ul > li') wb = Workbook() ws1 = wb.active ws1.title = "articles" ws1.append(["제목", "링크", "신문사","썸네일"]) for article in articles: title = article.select_one('dl > dt > a').text url = article.select_one('dl > dt > a')['href'] company = article.select_one('span._sp_each_source').text.split(' ')[0].replace('언론사','') thumbnail = article.select_one('div > a > img')['src'] # print(title, url, company, thumbnail) ws1.append([title, url, company, thumbnail]) driver.quit() wb.save(filename='articles.xlsx')
- 아래는 해당 파일을 이메일로 보내는 코드입니다.
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email.mime.text import MIMEText from email import encoders # 보내는 사람 정보 me = "daaan0415@gmail.com" my_password = "비밀번호자리(개인정보에요)" # 로그인하기 s = smtplib.SMTP_SSL('smtp.gmail.com') s.login(me, my_password) # 받는 사람 정보 emails = ['success415@naver.com', 'daaan0415@gmail.com'] # you = "daaan0415@gmail.com" for you in emails: # 메일 기본 정보 설정 msg = MIMEMultipart('alternative') msg['Subject'] = "[공유] 추석기사모음" msg['From'] = me msg['To'] = you # 메일 내용 쓰기 content = "내용자리" part2 = MIMEText(content, 'plain') msg.attach(part2) # 파일첨부하기 part = MIMEBase('application', "octet-stream") with open("articles.xlsx", 'rb') as file: part.set_payload(file.read()) encoders.encode_base64(part) part.add_header('Content-Disposition', "attachment", filename="추석기사.xlsx") msg.attach(part) # 메일 보내고 서버 끄기 s.sendmail(me, you, msg.as_string()) s.quit()
2.오늘 배운 것과 깨달은 것
- 이럴 때는 참 쉽게 된다. 안될 때는 참 스크래핑이 안되더니…
3.지금까지 작업물 (사진)
- 없음
댓글남기기