단어를 배웠으면 빠른 시간 안에 그 단어를 스무 번은 사용한다. 코드를 배웠다면 배운 코드를 곧바로 적용하는 프로그램을 몇 개 만들어 본다. 가장 빨리 배우는 방식은 동사형을 사용해 살아갈 때다. 뭉텅이의 코드가 제대로 돌아가기 위해서는 하나의 세상을 창조해야 한다. 그 세상은 아쉬운 게 없고 더 추가하거나 뺄 것도 없는 세상이다. 그것들은 감추어져 있어 눈에 띄지 않으며, 견고하지만 유연하고, 물처럼 흘러 자유롭다. 그리하여 코드는 개발자와 똑같은 속성을 가진다. 많은 일, 더 많은 시도와 같은 수의 실패가 완벽함을 만든다.
작가 앤 라모트(Anne Lamott)는 글쓰기 수업에서 글을 쓸 때 부딪히는 도전적인 상황에 대해 말했다
"하나의 작품을 완성하는 데 중요한 것은 정말 엉망진창인 초안을 써보는 거예요. 그리고 이것을 스스로에게 허락할 수 있어야 합니다. 이렇게 초안을 써보면 두 번째 안은 더 좋아질 것이고 세 번째는 더 훌륭한 작품이 나올 확률이 높아질 겁니다. 끝까지 다 써봐야만 자기가 무엇을 썼는지 깨달을 수 있어요.
어떤 주제에 대해서 쓰고 싶은지 어떤 이야기를 펼쳐 나갈지는 몰라도 일단 자리에 앉아서 단어들을 짜내는 게 중요합니다. 그래야만 스토리 전개 방향을 비로소 잡을 수 있습니다. 직접 해보지 않는다면 일의 본질이 무엇인지 일을 하면서 어떤 기분이 들지 그 결과가 어떻게 될지는 아무도 모를 겁니다. 최대한 형편없이 시작해 보시길 바랍니다."
from requests import get
from bs4 import BeautifulSoup
from datetime import datetime
now = datetime.now()
def extract_fishpoint(lastblognum):
base_url = "xxxxxxxxxxx"
results = []
for textnum in range(lastblognum):
response = get(f"{base_url}{textnum+1}")
if response.status_code != 200:
print(f"Can't request website {base_url}{textnum+1}")
else:
#print(response.status_code)
soup = BeautifulSoup(response.text, "html.parser")
list = soup.select_one('div.article_content')
date = list.select_one('span.date').get_text()
#list = soup.find('div', class_ = "date")
print(date)
#pubdate = find("div", class_="mosaic-zone")
#print(f"{soup.title.string} {base_url}{textnum+1}")
title_data = {
'number': textnum+1,
'date': date,
'title': soup.title.string,
'link': f"{base_url}{textnum+1}"
}
print(textnum+1)
results.append(title_data)
return results
#여기까지가 블로그를 읽어 제목 리스트를 반환하는 함수다.
#파일에 적는다.
lastblognum = int(input("Input Blog Number?"))
title_lists = extract_fishpoint(lastblognum)
#print(title_lists)
savedtime = f"{now.year}{now.month}{now.day}{now.hour}{now.minute}{now.second}"
print(savedtime)
file = open(f"{savedtime}.csv", "w", encoding="utf-8")
file.write("Number, Date, Title, URL\n")
for title_list in title_lists:
file.write(f"{title_list['number']}, {title_list['date']}, {title_list['title']}, {title_list['link']}\n")
file.close()
결과를 조금 보면 다음과 같다.
Start Num: 7635
Last Num: 7640
Number, Date, Title, URL
7636, 2022. 11. 21. 10:30, 삶의 정답을 알아내면 삶은 질문을 바꾼다., https://fishpoint.tistory.com/7636
7637, 2022. 11. 22. 10:52, 파이선 웹 스크래퍼 만들어 보자. 코드 1, https://fishpoint.tistory.com/7637
7638, 2022. 11. 18. 18:37, 소프트박스 GPIO 할당 표 - 아두이노 실습 플랫폼 softbox, https://fishpoint.tistory.com/7638
7639, 2022. 11. 22. 10:44, 아모르 파티 가사 - 김연자, https://fishpoint.tistory.com/7639
7640, 2022. 11. 25. 11:14, 동호회 송년회 행사 순서, 총회 식순 정리, https://fishpoint.tistory.com/7640
'개발자 > 파이썬 Python' 카테고리의 다른 글
파이썬 퀴즈 문제 만들고 정답 확인하는 코드 (0) | 2022.12.27 |
---|---|
파이썬 가위 바위 보 게임 코드 (1) | 2022.12.26 |
블로그 제목 파일로 저장하기 2 (1) | 2022.11.28 |
[Python] datetime 날짜와 시간 포맷 출력하기 (1) | 2022.11.26 |
파이선 웹 스크래퍼 만들어 보자. 코드 2 (0) | 2022.11.22 |
파이선 웹 스크래퍼 만들어 보자. 코드 1 (1) | 2022.11.22 |
파이선 용어집 리얼파이선 24 (0) | 2022.03.23 |
파이선 에러와 예외처리. 리얼파이선 23 (0) | 2022.03.21 |
더욱 좋은 정보를 제공하겠습니다.~ ^^