iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用requests和正则表达式爬取虎扑
  • 666
分享到

利用requests和正则表达式爬取虎扑

正则表达式requests爬取虎扑 2023-01-31 02:01:50 666人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

正则表达式解释:符合某个模式(规则)的文本在线测试工具:https://tool.oschina.net/regex详细的正则表达式规则,可见:Http://www.runoob.com/python3/python3-reg-expre

正则表达式
解释:符合某个模式(规则)的文本
在线测试工具https://tool.oschina.net/regex
详细的正则表达式规则,可见:Http://www.runoob.com/python3/python3-reg-expressions.html


re模块
概述:re为正则表达式提供了很多api,对正则表达式的使用提供了便利。
修饰符:
 1、re.I:忽略大小写
 2、re.M:多行匹配
 3、re.S:是.匹配包括换行在内的所有字符
方法:match()
参数:正则表达式,待匹配的字符串,修饰符,返回一个SRE.Match对象
代码演示:

content = 'Hello World Python3.6'
pattern = '^\w{5}\s\w{5}\s[p]+\w{5}\d\S\d'
result = re.match(pattern,content,re.I)
print(result.group())

SRE.Match对象的方法有:
group():返回匹配的内容
span():匹配的范围


贪婪模式和非贪婪模式
 贪婪匹配:.*会匹配尽可能多的字符
 非贪婪匹配:格式是.?,或匹配尽可能少的字符


re模块其他方法
   search():和match()类似,但match从字符串开头就开始匹配,若匹配不到就会返回None,而search则不会;
  findall():获得所有匹配的内容
  sub():修改文本
  compile():将正则表达式编译成对象,可重复使用
代码演示:

content = 'birthday:19970704'
result = re.sub('\d','5',content)#参数:正则表达式,被替换字符串,被修改文本
print(result)

爬取虎扑网球员得分榜
首先打开虎扑网,切到得分榜页面:https://nba.hupu.com/stats/players/pts
点击下一页,查看得分榜51-100的球员,发现此时链接变成:https://nba.hupu.com/stats/players/pts/2 ,多点几页就会发现得分榜链接的构造是:https://nba.hupu.com/stats/players/pts/ + 页数
再查看元素(按F12),发现表格的每一行是这么组成的:
利用requests和正则表达式爬取虎扑网球员数据
于是就可以写正则表达式了,需要获取的内容用括号括起来
代码如下:

import requests
import re

def get_Page(url):
#获取网页内容
headers = {
'User-Agent': 'Mozilla/5.0 (windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'
}
response = requests.get(url,headers=headers)
if response.status_code == 200:
return response.text
else:
print('您输入的网址错误!')

def parse_page(html):
#解析网页
pattern = '<tr>.*?<td.*?>(.*?)</td>.*?<td.*?><a.*?>(.*?)</a></td>.*?<td.*?><a.*?>(.*?)</a></td>.*?<td.*?>(.*?)</td>.*?'
items = re.findall(pattern, html,re.S)
# for item in items:
#     print(item[0],item[1],item[2],item[3])
return items

def save(content):
with open('nba.txt','a',encoding='utf-8') as f:
for item in content:
f.writelines(item)
f.write('\n')

if __name__ == '__main__':
#保存前得分榜150名
base_url = 'https://nba.hupu.com/stats/players/pts/'
for i in range(1,4):
url = base_url + str(i)
html = get_Page(url)
reslut = parse_page(html)
save(reslut)

结果展示:
利用requests和正则表达式爬取虎扑网球员数据

--结束END--

本文标题: 利用requests和正则表达式爬取虎扑

本文链接: https://www.lsjlt.com/news/185554.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用requests和正则表达式爬取虎扑
    正则表达式解释:符合某个模式(规则)的文本在线测试工具:https://tool.oschina.net/regex详细的正则表达式规则,可见:http://www.runoob.com/python3/python3-reg-expre...
    99+
    2023-01-31
    正则表达式 requests 爬取虎扑
  • Python如何利用正则表达式爬取网页信息及图片
    一、正则表达式是什么? 概念: 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来...
    99+
    2022-11-12
  • Python怎么利用正则表达式爬取网页信息及图片
    小编给大家分享一下Python怎么利用正则表达式爬取网页信息及图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、正则表达式是什么概念:正则表达式是对字符串操作...
    99+
    2023-06-14
  • python利用正则表达式提取字符串
    前言 正则表达式的基础知识就不说了,有兴趣的可以点击这里,提取一般分两种情况,一种是提取在文本中提取单个位置的字符串,另一种是提取连续多个位置的字符串。日志分析会遇到这种情况,下面我会分别讲一下对应的方法。...
    99+
    2022-06-04
    字符串 正则表达式 python
  • Python利用正则表达式从字符串提取数字
    目录前言利用正则表达式从字符串提取数字附python正则表达式抽取文本中的时间日期总结前言 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Pyt...
    99+
    2022-11-13
  • Python用正则表达式实现爬取古诗文网站信息
    目录分析古诗文网站1. 用正则表达式获取总页数2. 提取诗的标题3. 提取作者和朝代4. 提取诗的内容整理代码完整源代码总结分析古诗文网站 下图1展示了古诗文网站—》诗文 栏目的首页...
    99+
    2022-11-12
  • jmeter正则表达式提取器的用法与正则详解
    我们再使用jmeter请求接口时,碰到一些业务流程性的接口改怎么办,比如,我一个发布内容的接口需要用到登录接口返回的token加到请求上去才能发布内容,那在jmeter上该是如何实现...
    99+
    2022-11-13
  • Python怎么用正则表达式实现爬取古诗文网站信息
    本篇内容介绍了“Python怎么用正则表达式实现爬取古诗文网站信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!分析古诗文网站下图1展示了古...
    99+
    2023-06-25
  • jmeter正则表达式提取器怎么使用
    这篇文章主要介绍“jmeter正则表达式提取器怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jmeter正则表达式提取器怎么使用”文章能帮助大家解决问题。使用方法1,把正则表达式添加到需要提...
    99+
    2023-07-02
  • 如何利用Java正则表达式校验密码规则
    目录密码规则:正则表达式使用方法:补充:java正则校验密码总结密码规则: 它至少包含 8 个字符,最多包含 20 个字符。它至少包含一个数字。它至少包含一个大写字母。它至少包含一个...
    99+
    2022-11-13
  • 教你用正则表达式提取数字和小数点
    目录1、初识1.1、纯数字提取1.2、带有小数点数字提取2、语法3、实例代码4、参考Demo总结1、初识 1.1、纯数字提取 -- "提取123abc提取":提取当前字符当中的123...
    99+
    2022-11-13
  • 如何利用C#正则表达式提取相关URL中的域名
    这篇文章主要讲解了“如何利用C#正则表达式提取相关URL中的域名”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用C#正则表达式提取相关URL中的域名”吧!下面是一个利用C#正则表达式提...
    99+
    2023-06-18
  • Java中的子文本怎么利用正则表达式进行获取
    Java中的子文本怎么利用正则表达式进行获取?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。具体方法如下:package cn.mingyuan.regexp.singlec...
    99+
    2023-05-31
    java 正则表达式 ava
  • 利用正则表达式匹配浮点型数据
    目录前言:正则表达式Java代码附:正则表达式(同时匹配整型数和浮点数)总结前言: 在开发中我们常常会使用到正则表达式,但很奇怪的是,每次你在使用正则表达式的时候你都发现你不会写,不...
    99+
    2022-11-13
  • Jmeter中正则表达式提取器使用详解
    目录在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter...
    99+
    2022-11-12
  • python怎么用正则表达式提取字符串
    今天小编给大家分享一下python怎么用正则表达式提取字符串的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。用正则表达式提取字...
    99+
    2023-07-05
  • python如何用正则表达式提取字符串
    目录用正则表达式提取字符串1. 单个位置的字符串提取2. 连续多个位置的字符串提取用正则表达式提取字符串中的整数总结用正则表达式提取字符串 在日常工作中经常遇见在文本中提取特定位置字...
    99+
    2023-03-02
    python正则表达式 python提取字符串 正则提取字符串
  • JavaScript中怎么利用正则表达式判断匹配规则
    这篇文章将为大家详细讲解有关JavaScript中怎么利用正则表达式判断匹配规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。字符串是编程时涉及到的最多的一...
    99+
    2022-10-19
  • Python的爬虫包Beautiful Soup中用正则表达式来搜索
    Beautiful Soup使用时,一般可以通过指定对应的name和attrs去搜索,特定的名字和属性,以找到所需要的部分的html代码。 但是,有时候,会遇到,对于要处理的内容中,其name或attr的值...
    99+
    2022-06-04
    爬虫 中用 正则表达式
  • C#中怎么利用正则表达式定位字符
    今天就跟大家聊聊有关C#中怎么利用正则表达式定位字符,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作