【Python】【爬虫】【爬狼】004_正则规则模板及其应用
# 正则规则模板 与 应用(一)
先看这些视频,是在哪个div里面的


for datapage in soup.find_all("div", class_="lpic"):
# 一个li标签,包含一个视频
for data in datapage.find_all("li"):
# 不知道soup代表着什么,没关系,也别急着写,继续往后看

我们要获取的是
1.视频的标题
2.视频的类型
3.视频的介绍
4.视频的详情页链接
5.视频的封面图链接




正则规则模板
# 正则规则开始
gz_fan_title = re.compile(r'''<a href=".*?" title=".*?">(.*?)</a>''',re.S)
gz_fan_url = re.compile(r'''<a href="(.*?)"''',re.S)
gz_fan_url_img = re.compile(r'''referrerpolicy="no-referrer" src="(.*?)"''',re.S)
gz_fan_type = re.compile(r'''<span>类型:(.*?)</span>''',re.S)
gz_fan_message = re.compile(r'''<p>(.*?)</p>''', re.S)
# 正则规则结束
应用正则规则模板
data = str(data)
fan_title = re.findall(gz_fan_title, data)
fan_url = re.findall(gz_fan_url, data)
fan_img = re.findall(gz_fan_url_img, data)
fan_type = re.findall(gz_fan_type, data)
fan_message = re.findall(gz_fan_message, data)
那么上面的data是什么,怎么获得呢?
# 假设搜索love
pageNumber = xrilag_SearchAll("love")
# xrilag_SearchAll是自定义函数,想了解其具体代码的请查看博客https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html
# pageNumber是搜索结果的总页数
# 使用for循环,一页一页进行处理
for page in range(pageNumber):
# 根据页面跳转的地址改变规则写出页面含变量链接,然后进行源码获取,后面便可以对这一页展开分析与爬取数据了(https://www.cnblogs.com/mllt/p/python_pc_pl_edu_003.html)
html_Document = xrilang_UrlToDocument("https://www.yhdmp.cc/s_all?kw=love&pagesize=24&pageindex=" + str(page))
# xrilang_UrlToDocument是自定义函数,作用是获取网页源码。想了解其具体内容,请查看博客https://www.cnblogs.com/mllt/p/python_pc_pl_edu_002.html
# 创建一个Beautiful Soup对象
soup = BeautifulSoup(html_Document, "html.parser") # parser是解释器
# 使用了.kpic样式的div,包含且只包含了此页的所有视频列表
for datapage in soup.find_all("div", class_="lpic"):
# 一个li标签,包含一个视频
for data in datapage.find_all("li"):
# 应用正则规则模板
data = str(data)
fan_title = re.findall(gz_fan_title, data)
fan_url = re.findall(gz_fan_url, data)
fan_img = re.findall(gz_fan_url_img, data)
fan_type = re.findall(gz_fan_type, data)
fan_message = re.findall(gz_fan_message, data)
【Python】【爬虫】【爬狼】004_正则规则模板及其应用的更多相关文章
- python爬虫—爬取英文名以及正则表达式的介绍
python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一. 爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个cs ...
- Python爬虫 - 爬取百度html代码前200行
Python爬虫 - 爬取百度html代码前200行 - 改进版, 增加了对字符串的.strip()处理 源代码如下: # 改进版, 增加了 .strip()方法的使用 # coding=utf-8 ...
- 用Python爬虫爬取广州大学教务系统的成绩(内网访问)
用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...
- 使用Python爬虫爬取网络美女图片
代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...
- Python爬虫|爬取喜马拉雅音频
"GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...
- python爬虫爬取内容中,-xa0,-u3000的含义
python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310
- Python爬虫爬取一篇韩寒新浪博客
网上看到大神对Python爬虫爬到非常多实用的信息,认为非常厉害.突然对想学Python爬虫,尽管自己没学过Python.但在网上找了一些资料看了一下,看到爬取韩寒新浪博客的视频.共三集,第一节讲爬取 ...
- Python爬虫爬取全书网小说,程序源码+程序详细分析
Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...
- 一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
- python爬虫-爬取百度图片
python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...
随机推荐
- C# 的布尔类型和字符串类型(模板字符串)
// 布尔类型 boll bool b = false; b = 1 == 1; // true bool b1 = 1 > 23; // false // 值类型 : 在代码中初始化类型的时候 ...
- 前端 vue.config.js 处理跨域问题 proxy 代理
问: 业务中的跨域问题是如何解决的? 这个的话我们公司⼤概分了俩种环境,⼀种是开发的时候,⼀种是上⽣产的时候,开发的时候因为要对 接的后端可能会⽐较多,他们配置不太⽅便,这个时候采取的是⽐较⽅便的前端 ...
- nodejs 和 npm 版本对应关系
一.nodejs 和 npm 的版本是有适配的 首先看下官网列明的大概匹配关系: 官网链接地址:https://nodejs.org/zh-cn/about/previous-releases 可以查 ...
- .NET 8 实现无实体库表 API 部署服务
前言 快速将创意变为现实!无需实体建库建表即可完成增删改查操作,支持15种条件查询.分页.列表及无限级树形列表等多种功能的API部署. 提供完善的接口文档.Auth授权.接口限流.客户端真实IP获取. ...
- OOP七大原则
OOP七大原则 开闭原则 抽象约束.封装变化.对扩展开放,对修改关闭. 通过"抽象约束.封装变化"来实现开闭原则,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的 ...
- Nuxt.js 应用中的 server:devHandler 事件钩子详解
title: Nuxt.js 应用中的 server:devHandler 事件钩子详解 date: 2024/10/26 updated: 2024/10/26 author: cmdragon e ...
- MongoDB面试专题33道解析
大家好,我是 V 哥.今天给大家分享 MongoDB的道 V 哥整理的面试题,收藏起来,一定会对你有帮助. 1. 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什 ...
- 基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现六
一.前言介绍: 1.1 项目摘要 随着信息技术的迅猛发展和数字化时代的到来,传统文化与现代科技的融合已成为一种趋势.古诗词作为中华民族的文化瑰宝,具有深厚的历史底蕴和独特的艺术魅力.然而,在现代社会中 ...
- 题解:CF718A Efim and Strange Grade
CF718A Efim and Strange Grade 题解 算法 贪心+模拟 思路分析 显然,要最优每一次进位就只能五入不能四舍.而且当我们五入时,要取位数最高的.比如说 \(1.3535\), ...
- Ubuntu apt-cache命令查找可用软件包
本文GoFace给大家讲解下在Ubuntu及相同包管理的linux系统下如何查找可用软件包.在Ubuntu上大家一般使用apt-get安装软件,如果想查找某一包软件仓库中是否有,并不是使用apt-ge ...