CSDN專案之爬蟲小試
專案背景
說來也巧,閑來無事,在微信中水群正好看到某群友說想爬點LOL(英雄聯盟)的比賽資料,索性就要來了網址鏈接,網址鏈接:PentaQ官網
作為LPL粉絲,當然是先拿LPL模塊做模板,閑話不多說,直接進入主題,
專案整體思路:
1、通過觀察發現網站資料是按照賽區/賽季/賽事活動和游戲版本劃分模塊,換句話說,爬到某個版本中某個賽區某個賽季就可同理抓取其他版本/賽區/賽季的資料
2、以2019 LPL Summer All Patches為例,進行Overview/Team Stats/Player Stats三個模塊資料爬取
爬蟲語言:Python,這里對于沒有Python環境的讀者,建議使用Anaconda(Anaconda下載地址 )
IDE:采用Anaconda自帶的Spyder,讀者可根據自己使用習慣選擇;接下來就是安裝本次需要的python庫和包,由于作者采用spyder,因此使用Anaconda Prompt進行所需模塊的下載
下載模塊一般采用:pip install module_name
#python模塊匯入
import json
import pandas as pd
import time
import requests
import datetime
from sqlalchemy import create_engine
import pymysql
import random
from numpy import *
import re,urllib.request
# from celery_app import app #定時器
Player Stats模塊:作者采用的是阿里云MySQL資料庫存盤,讀者可根據自己的存盤方式,調整相應代碼
class LPL():
#選手資料
def lpl_player_stats(self):
tour = 59,
url = 'https://data.pentaq.com/business_api/2018may/tournament_player_duty_data?tour=59&patch='
patch = '9.6.1', #可細分版本獲取
headers = {
'Cookie':'Hm_lvt_3ee1f8020748c8020ea80ddc0c32a588=1607928409; rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiRWIwN2VlZjdlN2NhMzRlMzFmNDg2%0AZjllNDMwOTFjY2NmYzA4NmQwYWI0NmQ5NjkwODFkY2IxZjQ4Y2ZmODNjMTYG%0AOwBGSSIOY2xpZW50X2lwBjsARiIUMTIyLjIyNC4xMDkuMjEw%0A--ace63ead70294a61a8bccf362dd0ca987c1852c8; Hm_lpvt_3ee1f8020748c8020ea80ddc0c32a588=1607930743; _pentaq_gg_session=aHl5a08zdlRkQ0tWVkZKVzFRRlpVNlRHM2tnaUdTZWU1cmhsZFd4ZWVLZ1FKUUpheHhvVERPOGllRW5ycWZ3S254Qms2OVJQZFhsYnUwb1hYOGNGRTNGTTFqTVJpTzZEak85N3dEWjk4YkdMYTIzNGhLZHo3eHNCUmZtZGFrWHMtLW1ZTGpkMnFFMnRWcjhqVVRCSTN4cEE9PQ%3D%3D--d8377e88608d15030f7403d6c538eccb6bca4165',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
'Host': 'data.pentaq.com',
'Referer': 'https://data.pentaq.com/PlayerStats?tour=59',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
}
res = requests.get(url, headers)
# print(res)
js = json.loads(res.text)['data']['players_data']
#記得注釋欄位
player_name=[];team_name=[];team_full_name=[];psr=[];player_id=[];team_id=[];appear=[];win=[];win_rate=[];kill=[];dead=[];assist=[];kda=[];battle_rate_per_game=[];
solo_kill=[];solo_dead=[];ten_minutes_gold_offset_per_game=[];ten_minutes_creeps_per_game=[];
exp_diff_10m_per_game=[];damage_per_minute=[];damage_percent=[];damage_efficiency=[];tank_per_minute=[];tank_percent=[];
tank_efficiency=[];put_eye_per_minute=[];destroy_eye_per_minute=[];buy_true_eye_per_minute=[];duty_id=[];lose=[];insert_time=[]
for data in js:
# print(data['player_name'])
player_name.append(data['player_name'])
team_name.append(data['team_name'])
team_full_name.append(data['team_full_name'])
psr.append(data['psr'])
player_id.append(data['player_id'])
team_id.append(data['team_id'])
appear.append(data['appear'])
win.append(data['win'])
win_rate.append(data['win_rate'])
kill.append(data['kill'])
dead.append(data['dead'])
assist.append(data['assist'])
kda.append(data['kda'])
battle_rate_per_game.append(data['battle_rate_per_game'])
solo_kill.append(data['solo_kill'])
solo_dead.append(data['solo_dead'])
ten_minutes_gold_offset_per_game.append(data['ten_minutes_gold_offset_per_game'])
ten_minutes_creeps_per_game.append(data['ten_minutes_creeps_per_game'])
exp_diff_10m_per_game.append(data['exp_diff_10m_per_game'])
damage_per_minute.append(data['damage_per_minute'])
damage_percent.append(data['damage_percent'])
damage_efficiency.append(data['damage_efficiency'])
tank_per_minute.append(data['tank_per_minute'])
tank_percent.append(data['tank_percent'])
tank_efficiency.append(data['tank_efficiency'])
put_eye_per_minute.append(data['put_eye_per_minute'])
buy_true_eye_per_minute.append(data['buy_true_eye_per_minute'])
duty_id.append(data['duty_id'])
lose.append(data['lose'])
insert_time.append(datetime.datetime.now().strftime("%Y--%m--%d %H:%M:%S")) #由于作業要求,增加一個資料入庫時間欄位
# print(player_name,'\n')
dic={}
dic['player_name']=player_name
dic['team_name']=team_name
dic['team_full_name']=team_full_name
dic['psr']=psr
dic['player_id']=player_id
dic['team_id']=team_id
dic['appear']=appear
dic['win']=win
dic['win_rate']=win_rate
dic['kill']=kill
dic['dead']=dead
dic['assist']=assist
dic['kda']=kda
dic['battle_rate_per_game']=battle_rate_per_game
dic['solo_kill']=solo_kill
dic['solo_dead']=solo_dead
dic['ten_minutes_gold_offset_per_game']=ten_minutes_gold_offset_per_game
dic['ten_minutes_creeps_per_game']=ten_minutes_creeps_per_game
dic['exp_diff_10m_per_game']=exp_diff_10m_per_game
dic['damage_per_minute']=damage_per_minute
dic['damage_percent']=damage_percent
dic['damage_efficiency']=damage_efficiency
dic['tank_per_minute']=tank_per_minute
dic['tank_percent']=tank_percent
dic['tank_efficiency']=tank_efficiency
dic['put_eye_per_minute']=put_eye_per_minute
dic['buy_true_eye_per_minute']=buy_true_eye_per_minute
dic['duty_id']=duty_id
dic['lose']=lose
dic['insert_time']=insert_time
df=pd.DataFrame(dic)
pd.io.sql.to_sql(df, 'lpl_player_stats',create_engine('mysql+pymysql://'user_name':'DB_name'@'password'@'IP地址'/'DB_name'?charset=user_nameutf8mb4'),if_exists='append' ) #讀者可使用自己的資料庫鏈接資訊
Overview 對于比賽記錄中隊伍的logo圖片資訊,MySQL資料庫只能存盤圖片的鏈接資訊,作者通過決議requests.get(url).content存盤在本地
#戰隊ranking資料
def lpl_overview(self):
tour = 69,
url = 'https://data.pentaq.com/business_api/2018mar/tournament_situation?tour=69'
headers = {
'Cookie':'Hm_lvt_3ee1f8020748c8020ea80ddc0c32a588=1607928409; rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiRWIwN2VlZjdlN2NhMzRlMzFmNDg2%0AZjllNDMwOTFjY2NmYzA4NmQwYWI0NmQ5NjkwODFkY2IxZjQ4Y2ZmODNjMTYG%0AOwBGSSIOY2xpZW50X2lwBjsARiIUMTIyLjIyNC4xMDkuMjEw%0A--ace63ead70294a61a8bccf362dd0ca987c1852c8; _pentaq_gg_session=TDEzdXhNYkhMOHhEL0FRU3BxSVI2QmFlcjc1OElFUE50Q29XeVpEUDZKeEsrWkZzbWhzdS9nd0ZTaVBzaS82RmhGR0FSbW14NUVhbnFuRjlCWWxrZ3pNLzl4Q0E0aGVwM0Z4RmM4Z0FvcUV1SEc5U0Y2ajFsaFNoUVB4cHpwbkwtLUVwSFZoRXV6eEVGcm5BUUd5MnFlcFE9PQ%3D%3D--4ce58046bdd6c53489c1c3fd4a2b02ae0a1bfea4; Hm_lpvt_3ee1f8020748c8020ea80ddc0c32a588=1608010878',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
'Host': 'data.pentaq.com',
'Referer': 'https://data.pentaq.com/?tour=69',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
}
res = requests.get(url, headers)
# print(res.text)
js = json.loads(res.text)['situations'][0]['teams']
# print(js)
team_id=[];name=[];small_logo_url=[];match_win=[];match_lose=[];match_draw=[];match_count=[];game_win=[];game_lose=[];game_count=[];match_win_rate=[];
game_win_rate=[];rank=[];insert_time=[]
for i in js:
# print(i['team_id'],'\n')
team_id.append(i['team_id'])
name.append(i['name'])
small_logo_url.append(i['small_logo_url'])
match_win.append(i['match_win'])
match_lose.append(i['match_lose'])
match_draw.append(i['match_draw'])
match_count.append(i['match_count'])
game_win.append(i['game_win'])
game_lose.append(i['game_lose'])
game_count.append(i['game_count'])
match_win_rate.append(i['match_win_rate'])
game_win_rate.append(i['game_win_rate'])
rank.append(i['rank'])
insert_time.append(datetime.datetime.now().strftime("%Y--%m--%d %H:%M:%S"))
dic={}
dic['team_id']=team_id
dic['name']=name
dic['small_logo_url']=small_logo_url
dic['match_win']=match_win
dic['match_lose']=match_lose
dic['match_draw']=match_draw
dic['match_count']=match_count
dic['game_win']=game_win
dic['game_lose']=game_lose
dic['game_count']=game_count
dic['match_win_rate']=match_win_rate
dic['game_win_rate']=game_win_rate
dic['rank']=rank
dic['insert_time']=insert_time
df=pd.DataFrame(dic)
# print(df['team_id'][:5])
pd.io.sql.to_sql(df, 'lpl_overview', create_engine('mysql+pymysql://'user_name':'DB_name'@'password'@'IP地址'/'DB_name'?charset=user_nameutf8mb4'),if_exists='append')
#Pick資料
def lpl_most_pick(self):
tour = 69,
url = 'https://data.pentaq.com/business_api/2018mar/tournament_most_pick?tour=69&team=&patch=&begin=&end=&duty=&born_color='
headers = {
'Cookie':'Hm_lvt_3ee1f8020748c8020ea80ddc0c32a588=1607928409; rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiRWIwN2VlZjdlN2NhMzRlMzFmNDg2%0AZjllNDMwOTFjY2NmYzA4NmQwYWI0NmQ5NjkwODFkY2IxZjQ4Y2ZmODNjMTYG%0AOwBGSSIOY2xpZW50X2lwBjsARiIUMTIyLjIyNC4xMDkuMjEw%0A--ace63ead70294a61a8bccf362dd0ca987c1852c8; Hm_lpvt_3ee1f8020748c8020ea80ddc0c32a588=1608013453; _pentaq_gg_session=K1h3bHhxUHRKdG9MOWZuVkhYZUNadXhuYlJwU1JUdXJ0MzZjcmlydU1PWFpZdHZTQU1ibXBBTzBOc2VNVGlNZ1pVSUdleDhpaFlEUW1pTUFpWnp5RTRpdEt4UnhzU014VllULzc5TjBjZjhwbGdKdTNla0JZOS8zdHY3dzFXUjItLTQwVUgvV2Q4Ti9rak5ZVXZtTXRiUGc9PQ%3D%3D--f6de0aab41de816b0dcfcfc674a62034dbd6db6b',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
'Host': 'data.pentaq.com',
'Referer': 'https://data.pentaq.com/?tour=69',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
}
res = requests.get(url, headers)
# print(res.text)
js = json.loads(res.text)['heros']
# print(js)
title=[];logo=[];pick_time=[];win_time=[];duty_ids=[];win_rate=[]
for i in js:
# print(i['duty_ids'][0],'\n')
title.append(i['title'])
logo.append(i['logo'])
pick_time.append(i['pick_time'])
win_time.append(i['win_time'])
duty_ids.append(i['duty_ids'][0])
if i['pick_time']!=0:
win_rate.append(round(i['win_time']/i['pick_time'],3))
else:
win_rate.append(0)
dic_most_pick={}
dic_most_pick['title']=title
dic_most_pick['logo']=logo
dic_most_pick['pick_time']=pick_time
dic_most_pick['win_time']=win_time
dic_most_pick['duty_ids']=duty_ids
dic_most_pick['win_rate']=win_rate
# print(dic_most_pick)
df=pd.DataFrame(dic_most_pick)
# print(df['duty_ids'])
pd.io.sql.to_sql(df, 'lpl_most_pick', create_engine('mysql+pymysql://'user_name':'DB_name'@'password'@'IP地址'/'DB_name'?charset=user_nameutf8mb4'),if_exists='append')
#獲取圖片,并存盤
def load_photos(self):
conn = pymysql.connect(
host='ip',
# port='3306',
user='user_name',
password='password',
db='db_name',
charset='utf8mb4')
cur = conn.cursor()
#測驗連接
try:
insert_sqli = 'select distinct team_a_logo from lpl_matches_new'
cur.execute(insert_sqli)
result=cur.fetchall()
# print(result)
except Exception as e:
print("插入資料失敗:", e)
else:
# 如果是插入資料, 一定要提交資料, 不然資料庫中找不到要插入的資料;
conn.commit()
print("插入資料成功;")
# print(type(result))
for i in result:
# print(i,'\n')
# print(i[0],'\n')
url=i[0]
text=i[0][51:53]
text_new=text.replace('/','',)
f=open('Team id is'+str(text_new)+'.jpg','wb')
# print(text_new)
res=requests.get(url)
# print(res.content)
buf=res.content
f.write(buf)
cur.close()
conn.close()
#比賽資料(分頁加載)
def lpl_matches_new(self):
tour = 69,
url1='https://data.pentaq.com/business_api/2018mar/match_list?tour=69&team=&patch=&begin=&end=&page=1'
url = 'https://data.pentaq.com/business_api/2018mar/match_list?tour=69&team=&patch=&begin=&end=&page={}'
headers = {
'Cookie':'Hm_lvt_3ee1f8020748c8020ea80ddc0c32a588=1607928409; rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiRWIwN2VlZjdlN2NhMzRlMzFmNDg2%0AZjllNDMwOTFjY2NmYzA4NmQwYWI0NmQ5NjkwODFkY2IxZjQ4Y2ZmODNjMTYG%0AOwBGSSIOY2xpZW50X2lwBjsARiIUMTIyLjIyNC4xMDkuMjEw%0A--ace63ead70294a61a8bccf362dd0ca987c1852c8; Hm_lpvt_3ee1f8020748c8020ea80ddc0c32a588=1608013453; _pentaq_gg_session=K1h3bHhxUHRKdG9MOWZuVkhYZUNadXhuYlJwU1JUdXJ0MzZjcmlydU1PWFpZdHZTQU1ibXBBTzBOc2VNVGlNZ1pVSUdleDhpaFlEUW1pTUFpWnp5RTRpdEt4UnhzU014VllULzc5TjBjZjhwbGdKdTNla0JZOS8zdHY3dzFXUjItLTQwVUgvV2Q4Ti9rak5ZVXZtTXRiUGc9PQ%3D%3D--f6de0aab41de816b0dcfcfc674a62034dbd6db6b',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
'Host': 'data.pentaq.com',
'Referer': 'https://data.pentaq.com/?tour=69',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
}
res=requests.get(url1,headers)
# print(res.text)
count_matches=json.loads(res.text)['count']
js=json.loads(res.text)['matches']
length=len(js)
print(len(js))
if count_matches%length == 0:
page_size = int(count_matches/length)
else:
page_size = int(count_matches/length) + 1
print(page_size)
id=[];team_a_id=[];team_a_name=[];team_a_logo=[];team_a_win=[];team_b_id=[];team_b_name=[];team_b_logo=[];team_b_win=[];start_at=[];bo=[];lol_version=[];
for page in range(1,page_size+1):
resp = requests.get(url.format(page), headers)
# print(resp.text,'\n')
js=json.loads(resp.text)['matches']
# print(js)
for i in js:
# print(i,'\n')
id.append(i['id'])
team_a_id.append(i['team_a_id'])
team_a_name.append(i['team_a_name'])
team_a_logo.append(i['team_a_logo'])
team_a_win.append(i['team_a_win'])
team_b_id.append(i['team_b_id'])
team_b_name.append(i['team_b_name'])
team_b_logo.append(i['team_b_logo'])
team_b_win.append(i['team_b_win'])
start_at.append(i['start_at'])
bo.append(i['bo'])
lol_version.append(i['lol_version'])
# print(id,'\n')
dic_most_pick={}
dic_most_pick['id']=id
dic_most_pick['team_a_id']=team_a_id
dic_most_pick['team_a_name']=team_a_name
dic_most_pick['team_a_logo']=team_a_logo
dic_most_pick['team_a_win']=team_a_win
dic_most_pick['team_b_id']=team_b_id
dic_most_pick['team_b_name']=team_a_id
dic_most_pick['team_b_logo']=team_a_name
dic_most_pick['team_b_win']=team_a_logo
dic_most_pick['start_at']=team_a_win
dic_most_pick['bo']=team_b_id
dic_most_pick['lol_version']=lol_version
df=pd.DataFrame(dic_most_pick)
print(df)
pd.io.sql.to_sql(df,'lpl_matches_new',create_engine('mysql+pymysql://'user_name':'DB_name'@'password'@'IP地址'/'DB_name'?charset=user_nameutf8mb4'),if_exists='append')```
Team Stats 該模塊和Player Stats模塊類似
#戰隊資料
def lpl_team_stats(self):
tour = 69,
url = 'https://data.pentaq.com/business_api/2018may/tournament_team_data?tour=69&patch='
headers = {
'Cookie':'Hm_lvt_3ee1f8020748c8020ea80ddc0c32a588=1607928409; rack.session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiRWIwN2VlZjdlN2NhMzRlMzFmNDg2%0AZjllNDMwOTFjY2NmYzA4NmQwYWI0NmQ5NjkwODFkY2IxZjQ4Y2ZmODNjMTYG%0AOwBGSSIOY2xpZW50X2lwBjsARiIUMTIyLjIyNC4xMDkuMjEw%0A--ace63ead70294a61a8bccf362dd0ca987c1852c8; _pentaq_gg_session=TnFYYUNUa281dkl6aVo4TlQ2Y0VXSjlvWkRZdENlbCtiUlBmaHVuWXd4cXNoRFVyQWh1WGNHVENNeVMwbGVEaklyOCtVTndwWEYwd1d5WHRyUGhSZ2VGZmtNS3NHNVpyWk1NU1JPSUNiK0NKTmdGaXZkK0RUaXIwSlVrTkozWUUtLUNmeHlYK3EvcDZac2UyWHd0RVpuZkE9PQ%3D%3D--07887a8a796496033f4fd76333eff949f12883af; Hm_lpvt_3ee1f8020748c8020ea80ddc0c32a588=1608089292',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
'Host': 'data.pentaq.com',
'Referer': 'https://data.pentaq.com/?tour=69',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'same-origin',
}
res = requests.get(url, headers)
# print(res.text)
js = json.loads(res.text)['data']['teams_data']
# print(js)
team_name=[];team_full_name=[];appear=[];win=[];win_rate=[];duration_per_game=[];duration_per_win=[];duration_per_lose=[];kill=[];dead=[];bloodiness=[];minions_percent_per_game=[];
first_blood_percent=[];first_tower_percent=[];first_dragon_percent=[];first_baron_nashor_percent=[];dragon_percent=[];baron_nashor_percent=[];rift_hearld_percent=[];ten_minutes_gold_offset_per_game=[];
damage_per_minute=[];tank_per_minute=[];put_eye_per_minute=[];destroy_eye_per_minute=[];buy_true_eye_per_minute=[];lose=[]
for i in js:
# print(i,'\n')
team_name.append(i['team_name'])
team_full_name.append(i['team_full_name'])
appear.append(i['appear'])
win.append(i['win'])
win_rate.append(i['win_rate'])
duration_per_game.append(i['duration_per_game'])
duration_per_win.append(i['duration_per_win'])
duration_per_lose.append(i['duration_per_lose'])
kill.append(i['kill'])
dead.append(i['dead'])
bloodiness.append(i['bloodiness'])
minions_percent_per_game.append(i['minions_percent_per_game'])
first_blood_percent.append(i['first_blood_percent'])
first_tower_percent.append(i['first_tower_percent'])
first_dragon_percent.append(i['first_dragon_percent'])
first_baron_nashor_percent.append(i['first_baron_nashor_percent'])
dragon_percent.append(i['dragon_percent'])
baron_nashor_percent.append(i['baron_nashor_percent'])
rift_hearld_percent.append(i['rift_hearld_percent'])
ten_minutes_gold_offset_per_game.append(i['ten_minutes_gold_offset_per_game'])
damage_per_minute.append(i['damage_per_minute'])
tank_per_minute.append(i['tank_per_minute'])
put_eye_per_minute.append(i['put_eye_per_minute'])
destroy_eye_per_minute.append(i['destroy_eye_per_minute'])
buy_true_eye_per_minute.append(i['buy_true_eye_per_minute'])
lose.append(i['lose'])
dic_most_pick={}
dic_most_pick['team_name']=team_name
dic_most_pick['team_full_name']=team_full_name
dic_most_pick['appear']=appear
dic_most_pick['win']=win
dic_most_pick['win_rate']=win_rate
dic_most_pick['duration_per_game']=duration_per_game
dic_most_pick['duration_per_win']=duration_per_win
dic_most_pick['duration_per_lose']=duration_per_lose
dic_most_pick['kill']=kill
dic_most_pick['dead']=dead
dic_most_pick['bloodiness']=bloodiness
dic_most_pick['minions_percent_per_game']=minions_percent_per_game
dic_most_pick['first_blood_percent']=first_blood_percent
dic_most_pick['first_tower_percent']=first_tower_percent
dic_most_pick['first_dragon_percent']=first_dragon_percent
dic_most_pick['first_baron_nashor_percent']=first_baron_nashor_percent
dic_most_pick['dragon_percent']=dragon_percent
dic_most_pick['baron_nashor_percent']=baron_nashor_percent
dic_most_pick['rift_hearld_percent']=rift_hearld_percent
dic_most_pick['ten_minutes_gold_offset_per_game']=ten_minutes_gold_offset_per_game
dic_most_pick['damage_per_minute']=damage_per_minute
dic_most_pick['tank_per_minute']=tank_per_minute
dic_most_pick['put_eye_per_minute']=put_eye_per_minute
dic_most_pick['destroy_eye_per_minute']=destroy_eye_per_minute
dic_most_pick['buy_true_eye_per_minute']=buy_true_eye_per_minute
dic_most_pick['lose']=lose
df=pd.DataFrame(dic_most_pick)
# print(df[0:])
pd.io.sql.to_sql(df, 'lpl_team_stats', create_engine('mysql+pymysql://'user_name':'DB_name'@'password'@'IP地址'/'DB_name'?charset=user_nameutf8mb4'),if_exists='replace')
呼叫模塊:
if __name__ =='__main__':
# LPL().lpl_player_stats()
# LPL().lpl_overview()
# LPL().lpl_most_pick()
# LPL().lpl_matches()
# LPL().load_photos()
# LPL().lpl_matches_new()
#LPL().lpl_team_stats()
#定時器
# @app.task
# def get_test():
# LPL().lpl_team_stats()
# return '執行成功'
在呼叫模塊注釋了定時器,采用的是celery模塊,有興趣的讀者可以去官網閱讀檔案,這里不做解釋說明,第一次寫csdn檔案,代碼寫的不好,各位看官,請輕噴!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238558.html
標籤:python
下一篇:Python資料型別基礎
