단어를 배웠으면 빠른 시간 안에 그 단어를 스무 번은 사용한다. 코드를 배웠다면 배운 코드를 곧바로 적용하는 프로그램을 몇 개 만들어 본다. 가장 빨리 배우는 방식은 동사형을 사용해 살아갈 때다. 뭉텅이의 코드가 제대로 돌아가기 위해서는 하나의 세상을 창조해야 한다. 그 세상은 아쉬운 게 없고 더 추가하거나 뺄 것도 없는 세상이다. 그것들은 감추어져 있어 눈에 띄지 않으며, 견고하지만 유연하고, 물처럼 흘러 자유롭다. 그리하여 코드는 개발자와 똑같은 속성을 가진다. 많은 일, 더 많은 시도와 같은 수의 실패가 완벽함을 만든다.
작가 앤 라모트(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 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩