爬虫学习笔记-requests爬取NBA得分榜

1.导入requests库,用于请求获取URL位置的资源

import requests

2.导入lxml库,解析及生成xml和html文件

from lxml import etree

3.定义发送请求的地址

url = 'https://nba.hupu.com/stats/players'

4.定义请求头

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}

5.发送请求,获取html代码

resp = requests.get(url,headers=headers)

6.处理结果,解析字符串格式的HTML文档对象

e = etree.HTML(resp.text)

7.解析响应的数据,确定XML文档中某部分位置的语言

numbers = e.xpath('//tbody//tr//td[1]/text()')
names = e.xpath('//tbody//tr//td[2]/a/text()')
teams = e.xpath('//tbody//tr//td[3]/a/text()')
scores = e.xpath('//tbody//tr//td[4]/text()')

8. 保存到txt中

with open ('nba1.txt','w',encoding='utf-8') as f:for num,name,team,score in zip(numbers,names,teams,scores):f.write(f'{num}  {name}  {team}  {score}\n') #f'变量'

8.源码

#导入requests库,用于请求获取URL位置的资源
import requests
#导入lxml库,解析及生成xml和html文件
from lxml import etree
#发送的地址
url = 'https://nba.hupu.com/stats/players'
#伪装
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}
#发送请求,获取html代码
resp = requests.get(url,headers=headers)
# print(resp.text)
#处理结果,解析字符串格式的HTML文档对象,
e = etree.HTML(resp.text)
#解析响应的数据,确定XML文档中某部分位置的语言
# numbers = e.xpath('//table[@class="players_table"]//tr//td[1]/text()')
numbers = e.xpath('//tbody//tr//td[1]/text()')
names = e.xpath('//tbody//tr//td[2]/a/text()')
teams = e.xpath('//tbody//tr//td[3]/a/text()')
scores = e.xpath('//tbody//tr//td[4]/text()')
#保存到txt中
with open ('nba1.txt','w',encoding='utf-8') as f:for num,name,team,score in zip(numbers,names,teams,scores):f.write(f'{num}  {name}  {team}  {score}\n') #f'变量'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 的同义词(Synonym) 作用

Oracle 同义词(Synonym) 是数据库对象的一个别名,Oracle 可以为表、视图、序列、过程、函数、程序包等指定一个别名。同义词有两种类型: 私有同义词:拥有 CREATE SYNONYM 权限的用户(包括非管理员用户)即可创建私有同义词,创建的…

蓝桥杯备赛 day2 | 4. 付账问题 5. 数字三角形

付账问题,关键是要了解整型的范围,确定获取输入数据的变量类型 需要注意的是int的十进制范围-32768 ~ 32767,那么我们可以知道,人数n是可以用int来装的,需付款数S应该是long long,获取的每个人初始钱数也应…

【排序】希尔排序

一、思想 希尔排序,由D.L. Shell于1959年提出,是基于插入排序的一种改进算法。它的主要思想是将待排序的序列分割成若干个子序列,这些子序列的元素是相隔一定“增量”的。然后对每个子序列进行直接插入排序。随着增量的逐步减小,…

博客等级怎么查看?博客等级怎么快速上升?博客等级升级要求是什么?如何增加博客等级上升的积分?等级权益有什么?

博客等级怎么查看?博客等级怎么快速上升?博客等级升级要求是什么?如何增加博客等级上升的积分?等级权益有什么? 一、博客等级怎么查看?二、博客等级怎么快速上升?2.1 博客等级升级要求是什么&am…

容器化软件应用简化传统设备的连接

| Docker容器如何简化工业物联网解决方案 制造和包装工厂可通过集成IT和OT技术来改善运营,从而释放预测性维护、数据分析以及接入强大的企业管理应用等优势。然而,对于缺乏员工、时间或资源的企业而言,实施工业物联网解决方案并不容易。对此…

O2OA(翱途)开发平台如何在流程表单中使用基于Vue的ElementUI组件?

本文主要介绍如何在O2OA中进行审批流程表单或者工作流表单设计,O2OA主要采用拖拽可视化开发的方式完成流程表单的设计和配置,不需要过多的代码编写,业务人员可以直接进行修改操作。 在流程表单设计界面,可以在左边的工具栏找到Ele…

spark 实验二 RDD编程初级实践

目录 一. pyspark交互式编程示例(学生选课成绩统计) 该系总共有多少学生; 该系DataBase课程共有多少人选修; 各门课程的平均分是多少; 使用累加器计算共有多少人选了DataBase这门课。 二.编写独立应用程序实现数…

ImportError: Could not import docarray python package解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Java 学习和实践笔记(27):Object类的基本特性、toString方法以及IDEA的部分快捷键介绍

Object类基本特性: 1.Object类是所有类的父类,所有的Java对象都拥有Object类的属性和方法(注意拥有并不等于可以直接使用) 2.如果在类的声明中未使用extends,则默认继承Object类。 toString方法是Object类里定义的一个…

Java基础 - 8 - 算法、正则表达式

一. 算法 什么是算法? 解决某个实际问题的过程和方法 学习算法的技巧? 先搞清楚算法的流程,再直接去推敲如何写算法 1.1 排序算法 1.1.1 冒泡排序 每次从数组中找出最大值放在数组的后面去 public class demo {public static void main(S…

C++ 归并排序OJ

目录 1、912. 排序数组 2、LCR 170. 交易逆序对的总数 3、315. 计算右侧小于当前元素的个数 4、493. 翻转对 1、912. 排序数组 思路:本次使用归并排序 ,快速排序相当于二叉树的前序遍历,而归并排序相当于后序遍历。 归并排序是一种有效的…

Jenkins设置使用163邮箱发送邮件

目录 一、下载需要的插件 二、开通163邮箱的SMTP服务 三、配置邮箱,测试发送 1、配置Jenkins Location 2、配置Extended E-mail Notification 扩展邮件通知 3、配置默认触发器(可先不配置) ​编辑 4、配置默认的邮件通知 5、测试邮箱…

BUUCTF-DASBOOK1

[第一章][1.3.5 案例解析][极客大挑战 2019]Http 1 1.启动靶机 2.查看源代码,发现有链接 3.点击链接,跳转页面有提示,意思是:它并不来自于https:/Sycsecret.buuoj.cn 打开hackbar,如图所示,然后执行 4.得到…

PyTorch2.0 环境搭建详细步骤(Nvidia显卡)

Step 1 、查看显卡驱动版本 Step2、下载CUDA 11.7 或者11.8(我自己用的这个)也行,稍后我会贴出来版本匹配对应表 CUDA Toolkit - Free Tools and Training | NVIDIA Developer Step3、下载CUDNN cuDNN 9.0.0 Downloads | NVIDIA Developer Step4、安装…

(文末送书)直击前沿技术:《低代码平台开发实践:基于React》

目录 前言 一、React与低代码平台的结合优势 二、基于React的低代码平台开发挑战 三、基于React的低代码平台开发实践 四、书籍推荐 《低代码平台开发实践:基于React》 1、图书介绍 2、适用人群 3、 作者简介 4、写书原由 5、解决问题 6、书…

Application

1.Application的生命周期 自定义Application package com.tiger.chapter06;import android.app.Application; import android.content.res.Configuration; import android.util.Log;import androidx.annotation.NonNull;public class MyApplication extends Application {//在…

1.1 深度学习和神经网络

首先要说的是:深度学习的内容,真的不难。你要坚持下去。 神经网络 这就是一个神经网络。里面的白色圆圈就是神经元。神经元是其中最小的单位。 神经网络 单层神经网络: 感知机 (双层神经网络) 全连接层: …

Unity2013.1.19_DOTS_Burst compiler

Unity2013.1.19_DOTS_Burst compiler DOTS是一种新产品,现在尚在起步阶段。由于它处于持续发展中,随着我们努力使其达到最佳状态,您将看到API会不断演变和日趋成熟。 DOTS包含以下元素: 实体组件系统(ECS) - 提供使用面向数据的…

人工智能艺术的简要时间表

一、简述 技术在任何形式的艺术发展中始终发挥着关键作用。从通过化学发明颜色到通过数学发现分形:艺术、文化和技术是无法完全分开的三个维度。 计算机也不例外,它们从一开始就被用来帮助艺术家,常常揭示出我们无法看到的美丽的复杂性。数字…

It is also possible that a host key has just been changed

问题:ssh失败,提示如上图 分析: ssh的key存在上图里的路径里。 解决:win10删这个文件C:\Users\admin\.ssh\known_hosts , linux删这个文件.ssh\known_hosts ,或者删除这个文件里的制定ip的那一行,例如“106.1.1.22 ecdsa-sha2-…