〖Python网络爬虫实战⑩〗- 正则表达式实战(一)

  • 订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+

                python项目实战

                Python编程基础教程系列(零基础小白搬砖逆袭)

  • 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,可报销(名额有限,先到先得)
  • 作者:爱吃饼干的小白鼠。Python领域优质创作者,2022年度博客新星top100入围,荣获多家平台专家称号。

 最近更新

〖Python网络爬虫实战⑦〗- requests的使用(一)

〖Python网络爬虫实战⑧〗- requests的使用(二)
 

〖Python网络爬虫实战⑨〗- 正则表达式基本原理

上节回顾

        上一节我们基本了解了正则表达式其中的原理。后面我们将通过两个具体案例来加深对正则表达式的理解。今天,我们先通过一个简单的小案例,来学习正则表达式是如何使用的。

⭐️正则表达式实战(一)

🌟环境使用

  • python 3.9
  • pycharm

🌟模块使用

  • requests

🌟模块介绍

  • requests

        requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多。

  • re

        re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。

🌟模块安装问题:

  • 如果安装python第三方模块:

        win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

在pycharm中点击Terminal(终端) 输入安装命令

  • 安装失败原因:

  • 失败一: pip 不是内部命令

                解决方法: 设置环境变量

  • 失败二: 出现大量报红 (read time out)

                解决方法: 因为是网络链接超时, 需要切换镜像源

   

    清华:https://pypi.tuna.tsinghua.edu.cn/simple
    阿里云:https://mirrors.aliyun.com/pypi/simple/
    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
    华中理工大学:https://pypi.hustunique.com/
    山东理工大学:https://pypi.sdutlinux.org/
    豆瓣:https://pypi.douban.com/simple/
    例如:pip3 install -i https://pypi.doubanio.com/simple/ 模块名
  • 失败三: cmd里面显示已经安装过了, 或者安装成功了, 但是在pycharm里面还是无法导入

                解决方法: 可能安装了多个python版本 (anaconda 或者 python 安装一个即可) 卸载一个就好,或者你pycharm里面python解释器没有设置好。

🌟案例实战

        我们接下来通过一个简单的网站,我们来获取其简单的数据,我们就用我们刚刚学习的正则表达式来获取,当然,我们也可以使用xpath和css获取,这个我们以后也会教学的。

✨发送请求

        我们首先确定网站,使用requests发送请求,获取网页源代码。

import requests

url = 'https://ssr1.scrape.center/'

         这行代码导入了Python的requests模块。requests是一个用于HTTP请求的Python库,可以用于爬取网站的数据。在这里,我们使用requests来访问一个名为ssr1.scrape.center的网站,并将其存储在变量url中。

✨获取数据

res  = requests.get(url)

        这行代码使用requests库的get()函数来访问url所指向的网站,并将返回的结果存储在变量res中。请注意,get()函数的第一个参数是要访问的URL地址,第二个参数是可选的请求方法(默认为GET)。在这里,我们使用get()函数来获取url所指向的网站的数据。

        我们来看看获得了哪些数据。

        如果,你也得到了和我一样的数据,说明你就迈出了采集数据的第一步了。现在,我们想把这个页面所有的电影名字获取下来,我们一个一个复制太麻烦了。我们先看看网页源代码是怎么写的。

✨解析数据

        我们看到这里,我们就可以使用正则表达式是获取我们想要的数据。

title = re.findall('class="m-b-sm">(.*?) -',res.text)

        那么,这行代码什么意思呢?这行代码使用正则表达式class="m-b-sm">(.*?)来查找res.text中的所有类名为m-b-sm的标签。.*?表示非贪婪匹配,即只匹配尽量少的字符。最终结果是一个包含匹配标签的列表title

        我们看看会有什么效果吧。

        大家就会发现我们就把每个电影名字获取了下来。正则表达式是不是很神奇。大家可以尝试获取其他的数据,比如,什么时候上映以及评分。

🌟总结

今天,我们先通过一个简单的小案例,来学习正则表达式是如何使用的,下一篇,我们继续讲一个案例,加深大家对正则表达式的理解。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023 年男生还推荐报计算机专业吗?

计算机专业确实是一个非常热门的专业,就业前景也很广阔。 但是,近些年随着各个大学对计算机专业及其相关专业疯狂扩招,而且每年的毕业人口都在增多,行业是根本容纳不下的,就业竞争力度也急剧上升。因此,选…

Mac平台上有哪些好用的常用软件?

我大概分几类给你介绍一下吧。 一、办公类 1.微软的office系列,在mac平台也有office的全家桶,习惯用微软office的也可以安装。 2.wps office,wps可以说是国产最好用的office软件,最重要的是wps可以跨平台,并且云文档…

IT审计黄金标准“CISA”备考经验分享-529分成功上岸

激动的心,先晒下成绩单 考证建议以及职业规划 对于IT人士来说证书是一个非常有效的敲门砖,尤其是想跨到新的领域,一个证书往往能给自己在面试官留下一个深刻的印象,尤其是一些在专业领域含金量很高的证书。作为一个14年的IT人士&…

81-82-83-84-85-86 - 文件系统设计与实现

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)深入浅出操作系统 - 目录 文章目录1. 问题1.1 硬盘上最最最简单的文件系统支持方式1.2 改进思路1.3 更多细节问题1.4 文件系统概要设计1.5 硬盘数据逻辑示意图1.6 硬盘数据物理组…

​2023年十大目标检测模型!

“目标检测是计算机视觉中最令人兴奋和具有挑战性的问题之一,深度学习已经成为解决该问题的强大工具。”—Dr. Liang-Chieh Chen目标检测是计算机视觉中的基础任务,它涉及在图像中识别和定位目标。深度学习已经革新了目标检测,使得在图像和视…

微服务架构-服务网关(Gateway)-路由功能详解

路由功能详解 这一节我们看一看Gateway中的路由是怎么工作的;GateWay网关的路由功能可不是简简单单的 “转发" 请求,在请求到达网关要流转到指定服务之间发生了很多事儿,它不光可以拒绝请求,甚至可以"篡改” 请求的参数…

Java 在线编程编译工具上线,直接运行Java代码

前言 大家好,我是小哈~ 周末没出去浪,花了点时间,在我的个人网站上线了一款小工具。啥工具呢?一款可以在线编译 Java 代码并运行输出结果的小工具。 大家都知道,甲骨文刷 Java 版本号非常积极,这不上个月…

web综合

一,基于域名访问www.openlab.com 在文件当中写入IP与域名的映射关系 在windows中写入 也可以在客户端的/etc/hosts下写入映射关系 创建目录 [rootserver ~]# mkdir -pv /www/openlab 将所需要的内容写入对应目录当中 [rootserver ~]# echo welcome to openlab ! &…

大一被忽悠进了培训班

大家好,我是帅地。 最近我的知识星球开始营业,不少大一大二的小伙伴也是纷纷加入了星球,并且咨询的问题也是五花八门,反正就是,各种迷茫,其中有一个学弟,才大一,就报考培训班&#…

2023/4/6总结

题解 Problem - A - Codeforces 1.这道题很简单,找出将当前数字放入字符串的最大值。 2.分情况讨论,有俩种情况,一种是大于等于数字d,那么这个数字d需要插入到最后字符串的位置。否则这个数字需要插入到第一次比它小的位置。 …

2023年4月的编程语言排行榜,有你中意的开发语言吗?

编程世界变幻莫测,编程语言也是层出不穷,每隔一段时间就有新的风口出现。2023年的风口非人工智能莫属,人工智能领域中不可获取的编程语言就是Python,作为在算法、数据方面有独特优势的编程语言,从去年开始就展现了它不…

算法学习|动态规划 LeetCode 392.判断子序列 、115.不同的子序列

动态规划一、判断子序列思路实现代码二、不同的子序列思路实现代码(还是蛮开心的) 一、判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相…

腾讯云8核16G18M轻量服务器CPU带宽流量性能测评

腾讯云轻量应用服务器8核16G18M带宽,18M公网带宽下载速度峰值可达2304KB/秒,相当于2.25M/s,系统盘为270GB SSD盘,3500GB月流量,折合每天116GB流量。腾讯云百科分享腾讯云轻量服务器8核16G18M配置、CPU型号、公网带宽月…

【Pytorch】搭建网络模型的实战

【Pytorch】搭建网络模型的实战CIFAR10 model structure搭建网络使用Sequential进行搭建网络模型使用tensorboard查看网络结构对CIFAR10数据集进行分类,根据图片内容识别这是哪一类 CIFAR10 model structure 输入input:3通道的32 x 32 图片卷积操作的通道数不变 那…

应用信息资源管理(张士玉、董焱)——第一章 总论

第一章 总论 1.1 信息社会 1.1.1 信息社会的形成 信息社会是指以信息技术为基础,信息产业为支撑,信息化为主要特征的社会形态。其形成经历了以下几个阶段: 信息化初期:20世纪60年代至70年代,电子计算机的出现和发展…

人工智能会取代人工翻译吗?

当今社会正处于语言和技术高速发展的阶段,因此语言和技术的碰撞是不可避免的——甚至有些人说这种碰撞已经发生了,我们只是在等待尘埃落定。数字化、物联网、人工智能和机器学习,以及更进一步——智能手机、语音识别,以及互联网和…

机器视觉检测技术在工业零部件的应用

众所周知,在工业生产中,传统的检测技术需要大量的检测工作者,不仅影响生产效率,而且带来不可靠的因素。 视觉检测技术克服了传统检测技术的缺点,确保了检测的安全性。 可靠性和自动化程度高,已成为当前检测…

第六章 信息资源安全管理

信息资源安全管理内涵 信息在开发利用过程中面临的问题: 可用性;合法用户对信息的使用不会被不正当拒绝保密性也称机密性;保证机密信息不被窃取,或窃取者不能了解信息的真实含义认证性也称真实性;对信息的来源进行判断…

zabbix创建自定义监控模板

目录 第一章先行配置zabbix 第二章配置自定义 2.1.案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息 2.2.在 Web 页面创建自定义监控项模板 2.3.zabbix 自动发现与自动注册 总结 自定义监控…

Chat-GLM 详细部署(GPU显存>=12GB)

建议配置: ( Windows OS 11 部署 )CPU-i7 13700F ~ 13700KF RAM: 16GB DDR4 GPU: RTX3080(12G) 安装 conda: 1. 下载安装 miniconda3 : https://docs.conda.io/en/latest/miniconda.html conda是一个包和环境管理工具,它不仅能管理包,还能隔…