1
다음 코드는 nba.com의 play-by-play 데이터를 성공적으로 스크랩 한 다음 엑셀 파일에 데이터를 씁니다. 소수의 게임에서는 훌륭하게 작동하지만, 전체 시즌의 데이터를 다룰 때 엄청나게 느려집니다.파이썬에서보다 효율적인 웹 스크래핑?
데이터를 더 효과적으로 스크래핑 할 수있는 구현이 있습니까? 전체적인 시즌 동안 500K + 행의 데이터를 처리 할 수 있으므로 번개 속도는 기대할 수 없지만 내 코드를 향상시킬 수있는 방법이 있다면 분명히 방법을 배우고 싶습니다.
미리 도움을 청하십시오!
ids = [str(i) for i in range(21500001,215)]
import requests
import pandas as pd
dfs = []
for id in ids:
game_url = 'http://stats.nba.com/stats/playbyplayv2?EndPeriod=10&EndRange=55800&GameID=00' + id + '&RangeType=2&Season=2015-16&SeasonType=Regular+Season&StartPeriod=1&StartRange=0'
u_a = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36"
response = requests.get(game_url, headers={"USER-AGENT":u_a})
response.raise_for_status()
game = response.json()['resultSets'][0]['rowSet']
final = pd.DataFrame(game)
dfs.append(final)
finalgame = pd.concat(dfs)
dfs2 = pd.DataFrame(finalgame)
dfs2.to_excel("game15-16.xlsx")
cvs 파일로 내보내는 방법은 무엇입니까? 지금까지 CSV를 읽는 것이 더 빠르면 CSV로 쓰기도 더 빠릅니까? – Marine1