You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.1 KiB

5 months ago
import requests
import parsel
import csv
5 months ago
5 months ago
with open("data.csv", mode="a", encoding="utf-8", newline="") as f:
csv_writer = csv.DictWriter(f, fieldnames=["排名", "名字", "球队", "得分", "场次"])
if f.tell() == 0:
csv_writer.writeheader()
url = "https://nba.hupu.com/stats/players"
response = requests.get(url=url)
html_data = response.text
selector = parsel.Selector(html_data)
trs = selector.xpath('//tbody/tr[position()>1]')
for tr in trs:
ranking = tr.xpath("./td[1]/text()").get()
name = tr.xpath("./td[2]//a/text()").get()
team = tr.xpath("./td[3]//a/text()").get()
score = tr.xpath("./td[4]/text()").get()
venue = tr.xpath("./td[11]/text()").get()
print(f"排名: {ranking}, 名字: {name}, 球队: {team}, 得分: {score}, 场次: {venue}")
data_dict = {
"排名": ranking,
"名字": name,
"球队": team,
"得分": score,
"场次": venue
}
csv_writer.writerow(data_dict)