728x90
728x90
항해 99에서 배운 몽고디비 연결하기
내 야구시뮬레이터 프로젝트에도 괜찮을 것 같아서 써먹기로 했다
방금 전 게시물에서 썼던, 모든 선수들을 저장하는 코드를 조금 바꿔서 몽고디비에 저장할 수 있도록 햇다
중간에 db=client.baseball (db를 설정해주는 문장)을 적지 않아 막혔는데 항해 99에서 실습했던 파일을 찾아보니 이게 오류였구나... 했다 ^^ 허허
처음부터 끝까지 내가 적다 보니 코드스니펫 쓰던 시절이 그립다 ~~~~
from pymongo import MongoClient
import requests
from bs4 import BeautifulSoup
team_codes = ["sk", "wo", "lg", "ht","nc", "ss","hh","lt","kt","ob"]
client = MongoClient('mongodb+srv://sparta:test@sparta.rqx1qlk.mongodb.net/?retryWrites=true&w=majority')
db = client.baseball
for team_code in team_codes:
url = f"http://eng.koreabaseball.com/Stats/BattingByTeams.aspx?codeTeam={team_code}"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find_all('table')[0]
data = []
tr_tags = table.find_all('tr')
for tr in tr_tags:
td_tags = tr.find_all('td')
row = {}
for td in td_tags:
title = td.get('title')
if title:
row[title] = td.text
elif 'stats_player' in td.get('class', []):
row['Player'] = td.text
if row:
data.append(row)
collection = db[team_code]
collection.insert_many(data)
728x90
300x250
'2023 공부한것들' 카테고리의 다른 글
[github] 개인 레포지토리에서 원본 레포지토리로 Pr 보내기 (git CLI) (0) | 2023.06.12 |
---|---|
[Github pr/merge/Conflict 해결] github CLI 사용(터미널 위주) (0) | 2023.06.12 |
[python][야구시뮬레이터] [결과] 각 팀의 선수들의 스탯을 팀별로 한번에 스크래핑하기 (bs4, pandas등)- 각각의 엑셀파일 (0) | 2023.06.05 |
[python] lfsr 기반, 밀리세컨드 단위 시간을 초기값으로 가지는/ 원하는 자릿수의 otp를 출력하는 코드 만들기 (0) | 2023.06.05 |
[야구시뮬레이터] [결과] 모든 투수진 스크래핑해 엑셀 파일로 저장하기 (0) | 2023.06.03 |