[おしゃれな趣味コード]Python独自プレイプランで気軽に楽しめる2週目レッスン


2週目の授業はもっと楽で面白いです.
でも有益な部分は最初の週より多いです
最初の週の授業がPythonの基礎を知ることであれば、2週目の授業は使いやすいです.
まずは和弦go!
from openpyxl import Workbook
from bs4 import BeautifulSoup
from selenium import webdriver

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')

wb = Workbook()
ws1 = wb.active
ws1.title = "articles"
ws1.append(["제목", "링크", "신문사"])

articles = soup.select('#main_pack > section.sc_new.sp_nnews._prs_nws > div > div.group_news > ul > li')
for article in articles:
    title = article.select_one('div.news_wrap.api_ani_send > div > a').text
    url = article.select_one('div.news_wrap.api_ani_send > div > a')['href']
    comp = article.select_one('a.info.press').text.split(' ')[0].replace('언론사','')
    print(title, url, comp)
    ws1.append([title, url, comp])

driver.quit()
wb.save(filename='articles.xlsx')
このコードは役に立つコードで、検索語の中秋節の文章をリストしてhtmlドキュメントを解析して、欲しい情報だけを抽出することができます.
もちろん、html言語に詳しい場合は、より楽に聞こえるコースです.

htmlドキュメントをチェックし、インポートする情報のタグを右クリックし、copy>copyセレクタ「div.news wrap」を使用します.api ani send>div>a.
wb = Workbook()
ws1 = wb.active
ws1.title = "articles"
ws1.append(["제목", "링크", "신문사"])
.
. (중략)
.
ws1.append([title, url, comp])
また、上記のコードを使って、分割した内容をそのままExcelファイルにまとめることもできます.
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 = "본인이메일주소@gmail.com"
my_password = "비번"

# 로그인하기
s = smtplib.SMTP_SSL('smtp.gmail.com')
s.login(me, my_password)

# 받는 사람 정보
#you = "받는사람 이메일 주소@알맞은 도메인"
emails =[받는사람 이메일 주소1@알맞은 도메인1","받는사람 이메일 주소2@알맞은 도메인2","받는사람 이메일 주소3@알맞은 도메인3"]

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()
上記のコードをグループ化して取得したExcelファイルをメールに送信することもできます.(for文のように重複文を使って、他の人に送信することもできます!)
2週目は非常に有用な期間であり、ドキュメントの処理速度を速めることができます.
この授業は現在スパルタコードクラブで行われている無料講座活動です.
ご一緒される方はこちら(9/30まで)->https://spartacodingclub.kr/hip