def nbadata1():
df = xlwt.Workbook()
sheet1 = df.add_sheet('nbadata', cell_overwrite_ok=True)
rowsTitle = [u"排名", u"球员", u"球队", u"得分", u"出手数", u"命中率", u"3分出手",
u"3分命中率", u"罚球次数", u"罚球命中率", u"篮板", u"前场篮板", u"后场篮板", u"助攻",
u"抢断", u"盖帽", u"失误", u"犯规", u"场次", u"上场时间"]
for i in range(len(rowsTitle)):
sheet1.write(0, i, rowsTitle[i])
browser = webdriver.Chrome(executable_path='D:\wen\chromedriver.exe')
browser.maximize_window()
time.sleep(3)
url = "https://nba.stats.qq.com/stats/detail/?order=defen&type=player"
browser.get(url)
input4_players = browser.find_element_by_class_name('content')
input4_players2 = input4_players.find_elements_by_css_selector('li')
page = 0
for j in range(len(input4_players2)):
paiming = input4_players2[j].find_element_by_class_name('paiming').text
qiuyuan = input4_players2[j].find_element_by_class_name('qiuyuan').text
qiudui = input4_players2[j].find_element_by_class_name('qiudui').text
defen = input4_players2[j].find_element_by_class_name('defen').text
chushou = input4_players2[j].find_element_by_class_name('chushou').text
mingzhong = input4_players2[j].find_element_by_class_name('mingzhong').text
chushou3 = input4_players2[j].find_element_by_class_name('chushou3').text
mingzhong3 = input4_players2[j].find_element_by_class_name('mingzhong3').text
faci = input4_players2[j].find_element_by_class_name('faci').text
falv = input4_players2[j].find_element_by_class_name('falv').text
lanban = input4_players2[j].find_element_by_class_name('lanban').text
qlanban = input4_players2[j].find_element_by_class_name('qlanban').text
hlanban = input4_players2[j].find_element_by_class_name('hlanban').text
zhugong = input4_players2[j].find_element_by_class_name('zhugong').text
qiangduan = input4_players2[j].find_element_by_class_name('qiangduan').text
gaimao = input4_players2[j].find_element_by_class_name('gaimao').text
shiwu = input4_players2[j].find_element_by_class_name('shiwu').text
fangui = input4_players2[j].find_element_by_class_name('fangui').text
changci = input4_players2[j].find_element_by_class_name('changci').text
shangchang = input4_players2[j].find_element_by_class_name('shangchang').text
sheet1.write(page * len(input4_players2) + j, 0, paiming)
sheet1.write(page * len(input4_players2) + j, 1, qiuyuan)
sheet1.write(page * len(input4_players2) + j, 2, qiudui)
sheet1.write(page * len(input4_players2) + j, 3, defen)
sheet1.write(page * len(input4_players2) + j, 4, chushou)
sheet1.write(page * len(input4_players2) + j, 5, mingzhong)
sheet1.write(page * len(input4_players2) + j, 6, chushou3)
sheet1.write(page * len(input4_players2) + j, 7, mingzhong3)
sheet1.write(page * len(input4_players2) + j, 8, faci)
sheet1.write(page * len(input4_players2) + j, 9, falv)
sheet1.write(page * len(input4_players2) + j, 10, lanban)
sheet1.write(page * len(input4_players2) + j, 11, qlanban)
sheet1.write(page * len(input4_players2) + j, 12, hlanban)
sheet1.write(page * len(input4_players2) + j, 13, zhugong)
sheet1.write(page * len(input4_players2) + j, 14, qiangduan)
sheet1.write(page * len(input4_players2) + j, 15, gaimao)
sheet1.write(page * len(input4_players2) + j, 16, shiwu)
sheet1.write(page * len(input4_players2) + j, 17, fangui)
sheet1.write(page * len(input4_players2) + j, 18, changci)
sheet1.write(page * len(input4_players2) + j, 19, shangchang)
df.save('F:/NBA1.xls')
print('有{}'.format(j) + '个球队已写入哈哈')
browser.find_element_by_xpath('/html/body/div[3]/div[2]/ul/li[2]').click()
time.sleep(3)
input4_players = browser.find_element_by_class_name('content')
input4_players2 = input4_players.find_elements_by_css_selector('li')
page += 1
for j in range(len(input4_players2)):
paiming = input4_players2[j].find_element_by_class_name('paiming').text
qiuyuan = input4_players2[j].find_element_by_class_name('qiuyuan').text
qiudui = input4_players2[j].find_element_by_class_name('qiudui').text
defen = input4_players2[j].find_element_by_class_name('defen').text
chushou = input4_players2[j].find_element_by_class_name('chushou').text
mingzhong = input4_players2[j].find_element_by_class_name('mingzhong').text
chushou3 = input4_players2[j].find_element_by_class_name('chushou3').text
mingzhong3 = input4_players2[j].find_element_by_class_name('mingzhong3').text
faci = input4_players2[j].find_element_by_class_name('faci').text
falv = input4_players2[j].find_element_by_class_name('falv').text
lanban = input4_players2[j].find_element_by_class_name('lanban').text
qlanban = input4_players2[j].find_element_by_class_name('qlanban').text
hlanban = input4_players2[j].find_element_by_class_name('hlanban').text
zhugong = input4_players2[j].find_element_by_class_name('zhugong').text
qiangduan = input4_players2[j].find_element_by_class_name('qiangduan').text
gaimao = input4_players2[j].find_element_by_class_name('gaimao').text
shiwu = input4_players2[j].find_element_by_class_name('shiwu').text
fangui = input4_players2[j].find_element_by_class_name('fangui').text
changci = input4_players2[j].find_element_by_class_name('changci').text
shangchang = input4_players2[j].find_element_by_class_name('shangchang').text
sheet1.write(page * len(input4_players2) + j, 0, paiming)
sheet1.write(page * len(input4_players2) + j, 1, qiuyuan)
sheet1.write(page * len(input4_players2) + j, 2, qiudui)
sheet1.write(page * len(input4_players2) + j, 3, defen)
sheet1.write(page * len(input4_players2) + j, 4, chushou)
sheet1.write(page * len(input4_players2) + j, 5, mingzhong)
sheet1.write(page * len(input4_players2) + j, 6, chushou3)
sheet1.write(page * len(input4_players2) + j, 7, mingzhong3)
sheet1.write(page * len(input4_players2) + j, 8, faci)
sheet1.write(page * len(input4_players2) + j, 9, falv)
sheet1.write(page * len(input4_players2) + j, 10, lanban)
sheet1.write(page * len(input4_players2) + j, 11, qlanban)
sheet1.write(page * len(input4_players2) + j, 12, hlanban)
sheet1.write(page * len(input4_players2) + j, 13, zhugong)
sheet1.write(page * len(input4_players2) + j, 14, qiangduan)
sheet1.write(page * len(input4_players2) + j, 15, gaimao)
sheet1.write(page * len(input4_players2) + j, 16, shiwu)
sheet1.write(page * len(input4_players2) + j, 17, fangui)
sheet1.write(page * len(input4_players2) + j, 18, changci)
sheet1.write(page * len(input4_players2) + j, 19, shangchang)
df.save('F:/NBA1.xls')
print('有{}'.format(j) + '个球队已写入哈哈')
browser.find_element_by_xpath('/html/body/div[3]/div[2]/ul/li[3]').click()
time.sleep(3)
input4_players = browser.find_element_by_class_name('content')
input4_players2 = input4_players.find_elements_by_css_selector('li')
page += 1
for j in range(len(input4_players2)):
paiming = input4_players2[j].find_element_by_class_name('paiming').text
qiuyuan = input4_players2[j].find_element_by_class_name('qiuyuan').text
qiudui = input4_players2[j].find_element_by_class_name('qiudui').text
defen = input4_players2[j].find_element_by_class_name('defen').text
chushou = input4_players2[j].find_element_by_class_name('chushou').text
mingzhong = input4_players2[j].find_element_by_class_name('mingzhong').text
chushou3 = input4_players2[j].find_element_by_class_name('chushou3').text
mingzhong3 = input4_players2[j].find_element_by_class_name('mingzhong3').text
faci = input4_players2[j].find_element_by_class_name('faci').text
falv = input4_players2[j].find_element_by_class_name('falv').text
lanban = input4_players2[j].find_element_by_class_name('lanban').text
qlanban = input4_players2[j].find_element_by_class_name('qlanban').text
hlanban = input4_players2[j].find_element_by_class_name('hlanban').text
zhugong = input4_players2[j].find_element_by_class_name('zhugong').text
qiangduan = input4_players2[j].find_element_by_class_name('qiangduan').text
gaimao = input4_players2[j].find_element_by_class_name('gaimao').text
shiwu = input4_players2[j].find_element_by_class_name('shiwu').text
fangui = input4_players2[j].find_element_by_class_name('fangui').text
changci = input4_players2[j].find_element_by_class_name('changci').text
shangchang = input4_players2[j].find_element_by_class_name('shangchang').text
sheet1.write(page * len(input4_players2) + j, 0, paiming)
sheet1.write(page * len(input4_players2) + j, 1, qiuyuan)
sheet1.write(page * len(input4_players2) + j, 2, qiudui)
sheet1.write(page * len(input4_players2) + j, 3, defen)
sheet1.write(page * len(input4_players2) + j, 4, chushou)
sheet1.write(page * len(input4_players2) + j, 5, mingzhong)
sheet1.write(page * len(input4_players2) + j, 6, chushou3)
sheet1.write(page * len(input4_players2) + j, 7, mingzhong3)
sheet1.write(page * len(input4_players2) + j, 8, faci)
sheet1.write(page * len(input4_players2) + j, 9, falv)
sheet1.write(page * len(input4_players2) + j, 10, lanban)
sheet1.write(page * len(input4_players2) + j, 11, qlanban)
sheet1.write(page * len(input4_players2) + j, 12, hlanban)
sheet1.write(page * len(input4_players2) + j, 13, zhugong)
sheet1.write(page * len(input4_players2) + j, 14, qiangduan)
sheet1.write(page * len(input4_players2) + j, 15, gaimao)
sheet1.write(page * len(input4_players2) + j, 16, shiwu)
sheet1.write(page * len(input4_players2) + j, 17, fangui)
sheet1.write(page * len(input4_players2) + j, 18, changci)
sheet1.write(page * len(input4_players2) + j, 19, shangchang)
df.save('F:/NBA1.xls')
print('有{}'.format(j) + '个球队已写入哈哈')
browser.find_element_by_xpath('/html/body/div[3]/div[2]/ul/li[4]').click()
time.sleep(3)
input4_players = browser.find_element_by_class_name('content')
input4_players2 = input4_players.find_elements_by_css_selector('li')
page += 1
for j in range(len(input4_players2)):
paiming = input4_players2[j].find_element_by_class_name('paiming').text
qiuyuan = input4_players2[j].find_element_by_class_name('qiuyuan').text
qiudui = input4_players2[j].find_element_by_class_name('qiudui').text
defen = input4_players2[j].find_element_by_class_name('defen').text
chushou = input4_players2[j].find_element_by_class_name('chushou').text
mingzhong = input4_players2[j].find_element_by_class_name('mingzhong').text
chushou3 = input4_players2[j].find_element_by_class_name('chushou3').text
mingzhong3 = input4_players2[j].find_element_by_class_name('mingzhong3').text
faci = input4_players2[j].find_element_by_class_name('faci').text
falv = input4_players2[j].find_element_by_class_name('falv').text
lanban = input4_players2[j].find_element_by_class_name('lanban').text
qlanban = input4_players2[j].find_element_by_class_name('qlanban').text
hlanban = input4_players2[j].find_element_by_class_name('hlanban').text
zhugong = input4_players2[j].find_element_by_class_name('zhugong').text
qiangduan = input4_players2[j].find_element_by_class_name('qiangduan').text
gaimao = input4_players2[j].find_element_by_class_name('gaimao').text
shiwu = input4_players2[j].find_element_by_class_name('shiwu').text
fangui = input4_players2[j].find_element_by_class_name('fangui').text
changci = input4_players2[j].find_element_by_class_name('changci').text
shangchang = input4_players2[j].find_element_by_class_name('shangchang').text
sheet1.write(page * len(input4_players2) + j, 0, paiming)
sheet1.write(page * len(input4_players2) + j, 1, qiuyuan)
sheet1.write(page * len(input4_players2) + j, 2, qiudui)
sheet1.write(page * len(input4_players2) + j, 3, defen)
sheet1.write(page * len(input4_players2) + j, 4, chushou)
sheet1.write(page * len(input4_players2) + j, 5, mingzhong)
sheet1.write(page * len(input4_players2) + j, 6, chushou3)
sheet1.write(page * len(input4_players2) + j, 7, mingzhong3)
sheet1.write(page * len(input4_players2) + j, 8, faci)
sheet1.write(page * len(input4_players2) + j, 9, falv)
sheet1.write(page * len(input4_players2) + j, 10, lanban)
sheet1.write(page * len(input4_players2) + j, 11, qlanban)
sheet1.write(page * len(input4_players2) + j, 12, hlanban)
sheet1.write(page * len(input4_players2) + j, 13, zhugong)
sheet1.write(page * len(input4_players2) + j, 14, qiangduan)
sheet1.write(page * len(input4_players2) + j, 15, gaimao)
sheet1.write(page * len(input4_players2) + j, 16, shiwu)
sheet1.write(page * len(input4_players2) + j, 17, fangui)
sheet1.write(page * len(input4_players2) + j, 18, changci)
sheet1.write(page * len(input4_players2) + j, 19, shangchang)
df.save('F:/NBA1.xls')
print('有{}'.format(j) + '个球队已写入哈哈')
这个写得也太烂了,没办法,好多东西都忘了,不过还是能用,就是看着sp了点。优化一下这个应该可以是把相同的部分定义为一个函数,后面点击下一页后直接调用就ok。不用写得这么麻烦。需要改的朋友自行改动。
其实selenium用来写爬虫很烂,速度慢,占资源等,用request,re,bs4等要好很多,不过selenium就是简单,不用花很长时间就能上手,如果有经常用的,还是用其他方式爬好一点。如果是像我这种一学期用一两次的,还是selenium好一点,真的像是傻瓜式的操作。