import time
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
} # 爬虫[Requests设置请求头Headers],伪造浏览器
# 核心爬取代码
url = 'https://www.basketball-reference.com/leagues/NBA_2014_games-december.html'
params = {"show_ram": 1}
response = requests.get(url, params=params, headers=headers) # 访问url
outwb = Workbook() #声明Workbook
outws = outwb.worksheets[0] # 定义excel 的sheet
soup = BeautifulSoup(response.text, 'html.parser') # 获取网页源代码
tr = soup.find('tbody').find_all('tr')
# .find定位到所需数据位置 .find_all查找所有的tr(表格)
# 去除标签栏
outws.append(['Date','Start(ET)','Visitor/Neutral','PTS','Home/Neutral','PTS','','Attend.','Arena','Notes'])
for j in tr[1:]: # tr2[1:]遍历第1列到最后一列,表头为第0列
listData = [] # 定义数组
th = j.find_all('th') # th表格
thDate = th[0].get_text().strip()
listData.append(thDate)
tds = j.find_all('td') # td表格
for k in tds[0:]:
tdDate = k.get_text().strip()
listData.append(tdDate)
outws.append(listData)
outwb.save(r'test.xlsx')