一、爬取目标
二、完整源码
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# Copyright (c) 2024 愤怒的it男, All Rights Reserved.
# FileName : code.py
# Date : 2024.01.13
# Author : 愤怒的it男
# Version : 1.0.0
# Node : 欢迎关注微信公众号【愤怒的it男】
#
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
import csv#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# Copyright (c) 2024 愤怒的it男, All Rights Reserved.
# FileName : code.py
# Date : 2024.01.14
# Author : 愤怒的it男
# Version : 1.0.0
# Node : 欢迎关注微信公众号【愤怒的it男】
#
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
import csv
import requests
import numpy as np
from lxml import etree
from prettytable import PrettyTable
def getData(baseUrl, headers):
response = requests.get(url=baseUrl, headers=headers)
html = etree.HTML(response.text)
saiji = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[1]/text()")
julebu = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[2]/text()")
shangchang = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[3]/text()")
shoufa = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[4]/text()")
jinqiu = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[5]/text()")
zhugong = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[6]/text()")
huangpai = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[7]/text()")
hongpai = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[8]/text()")
tibu = html.xpath("//div[@class='total-con-wrap']//p[@class='td']/span[9]/text()")
data = np.stack((saiji, julebu, shangchang, shoufa, jinqiu, zhugong, huangpai, hongpai, tibu))
data = np.transpose(data).tolist()
return data
def printData(result):
table = PrettyTable()
table.field_names = ["赛季", "俱乐部", "上场", "首发", "进球", "助攻", "黄牌", "红牌", "替补"]
table.add_rows(result)
print(table)
def saveData(result):
with open('C罗比赛数据.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(result)
def main():
result = []
baseUrl = 'https://www.dongqiudi.com/player/50000356.html'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
result = getData(baseUrl, headers)
printData(result)
saveData(result)
if __name__== "__main__" :
main()
三、爬取结果
+-----------+------------+------+------+------+------+------+------+------+
| 赛季 | 俱乐部 | 上场 | 首发 | 进球 | 助攻 | 黄牌 | 红牌 | 替补 |
+-----------+------------+------+------+------+------+------+------+------+
| 2023/2024 | 利雅得胜利 | 31 | 30 | 30 | 11 | 2 | 0 | 0 |
| 2022/2023 | 利雅得胜利 | 19 | 19 | 14 | 2 | 4 | 0 | 0 |
| 2022/2023 | 曼联 | 16 | 10 | 3 | 2 | 3 | 0 | 0 |
| 2021/2022 | 曼联 | 38 | 35 | 24 | 3 | 9 | 0 | 0 |
| 2021/2022 | 尤文图斯 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 2020/2021 | 尤文图斯 | 44 | 41 | 36 | 5 | 5 | 0 | 2 |
| 2019/2020 | 尤文图斯 | 46 | 46 | 37 | 5 | 3 | 0 | 0 |
| 2018/2019 | 尤文图斯 | 43 | 41 | 28 | 10 | 4 | 1 | 2 |
| 2017/2018 | 皇家马德里 | 44 | 42 | 44 | 8 | 4 | 1 | 2 |
| 2016/2017 | 皇家马德里 | 46 | 46 | 42 | 11 | 5 | 0 | 0 |
| 2015/2016 | 皇家马德里 | 48 | 48 | 51 | 15 | 4 | 0 | 0 |
| 2014/2015 | 皇家马德里 | 54 | 52 | 61 | 21 | 7 | 1 | 2 |
| 2013/2014 | 皇家马德里 | 47 | 47 | 51 | 12 | 7 | 1 | 0 |
| 2012/2013 | 皇家马德里 | 55 | 51 | 55 | 11 | 13 | 1 | 4 |
| 2011/2012 | 皇家马德里 | 55 | 54 | 60 | 14 | 7 | 0 | 1 |
| 2010/2011 | 皇家马德里 | 54 | 51 | 53 | 17 | 7 | 0 | 3 |
| 2009/2010 | 皇家马德里 | 35 | 33 | 33 | 10 | 4 | 2 | 2 |
| 2008/2009 | 曼联 | 53 | 48 | 26 | 10 | 9 | 1 | 5 |
| 2007/2008 | 曼联 | 49 | 46 | 42 | 7 | 7 | 1 | 3 |
| 2006/2007 | 曼联 | 53 | 49 | 23 | 14 | 5 | 0 | 4 |
| 2005/2006 | 曼联 | 47 | 37 | 11 | 7 | 9 | 1 | 10 |
| 2004/2005 | 曼联 | 50 | 40 | 9 | 9 | 5 | 0 | 10 |
| 2003/2004 | 曼联 | 41 | 25 | 6 | 7 | 4 | 1 | 16 |
| 2002/2003 | 葡萄牙体育 | 31 | 14 | 5 | 6 | 1 | 0 | 17 |
+-----------+------------+------+------+------+------+------+------+------+
四、免责声明
本公众号所有源码均为个人学习所编写,仅可用于计算机技术学习及研究等合法行为,禁止利用本公众号的源码从事任何违反本国(地区)法律法规的业务,如有发现存在违法违规行为我会举报到网监部门。
原文始发于微信公众号(愤怒的it男):C罗要来中国了!Python爬取C罗所有比赛数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/234332.html