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.

1.1 KiB

import requests import parsel import csv

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)