爬虫学习笔记-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]//text()')
teams = e.xpath('//tbody//tr//td[3]//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]//text()')
teams = e.xpath('//tbody//tr//td[3]//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'变量'

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 01:08:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 01:08:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 01:08:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 01:08:03       18 阅读

热门阅读

  1. 【SQL实用技巧】-- join系列

    2024-03-12 01:08:03       20 阅读
  2. Oracle 12c dataguard查看主备库同步情况的新变化

    2024-03-12 01:08:03       16 阅读
  3. C#求最大公约数: 欧几里得算法 vs 辗转相除法

    2024-03-12 01:08:03       20 阅读
  4. 如何在Ubuntu上部署最新的Google Chrome和ChromeDriver

    2024-03-12 01:08:03       24 阅读
  5. c++基础学习第四天(内存分区,引用)

    2024-03-12 01:08:03       20 阅读
  6. 010-$nextTick

    2024-03-12 01:08:03       19 阅读
  7. 浏览器内核小知识

    2024-03-12 01:08:03       19 阅读
  8. Linux报错排查-安装PHP的remi库报错

    2024-03-12 01:08:03       21 阅读