Python爬虫--爬取糗事百科段子

server/2025/2/14 8:28:26/

爬取糗事百科段子:

段子在 <div class="content"> 里面的 <span> 标签里面

不过这里有个坑,div 标签跟 span 标签 之间有很多空行

普通 .*? 是匹配不了的,需要使用模式修饰符 S

S 的意思 让 .(点) 匹配,包括换行符

images


我们来爬文字的段子

先看看他的 url 有什么规律,

https://www.qiushibaike.com/text/page/1/

第一页就是 1 ,第 2 页就是 2

代码跟之前几乎一样,只是正则不同,应该不需要怎么介绍了

代码:


import urllib.request
import re
import timeheaders = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36")opener = urllib.request.build_opener()opener.addheaders = [headers]urllib.request.install_opener(opener)  # 安装为全局for i in range(1,5):this_url = "https://www.qiushibaike.com/text/page/"+str(i)+"/"data = urllib.request.urlopen(this_url).read().decode("utf-8","ignore")path = '<div class="content">.*?<span>(.*?)</span>.*?</div>'resut = re.compile(path,re.S).findall(data)for j in resut:print(j)time.sleep(0.5)

运行效果就这样

images

如果怕请求出错的话,

可以使用 try except 方法来捕获异常


http://www.ppmy.cn/server/37438.html

相关文章

《十九》Qt Http协议及实战

前言 本篇文章来给大家讲解QT中的Http协议&#xff0c;Http协议主要用于网络中数据的请求和响应&#xff0c;那么这篇文章将给大家讲解一下这个协议。 一、HTTP概述 HTTP&#xff08;超文本传输协议&#xff09;是互联网上应用最为广泛的协议之一&#xff0c;它定义了客户端…

【C语言】预处理器

我们在开始编写一份程序的时候&#xff0c;从键盘录入的第一行代码&#xff1a; #include <stdio.h>这里就使用了预处理&#xff0c;引入头文件。 C预处理器不是编译器的组成部分&#xff0c;但是它是编译过程中一个单独的步骤。简言之&#xff0c;C预处理器只不过是一…

【网络】IP层分片和TCP分段,有MTU为什么还需要MSS

引言 在网络通信中&#xff0c;IP层分片和TCP分段是两个重要的概念&#xff0c;它们分别在网络层和传输层发挥着关键作用。本文将介绍IP层分片的作用和缺陷&#xff0c;解释为何TCP需要分段而不是让IP层进行分片。 IP层分片&#xff1a;作用和缺陷 作用&#xff1a; IP层分…

热敏电阻怎么进行性能测试?并以LabVIEW为例进行说明

过程也可用于执行热敏电阻测量。RTD和热敏电阻遵循非常相似的功能原理&#xff0c;测量步骤与下面提供的步骤相同。有关热敏电阻的更多信息&#xff0c;请参阅本文档。 查找设备引脚排列 在连接任何信号之前&#xff0c;请找到您的设备引脚排列。 打开NI MAX并展开设备和接口。…

k8s ReplicaSet

ReplicaSet 是替代 ReplicationController 的&#xff0c;ReplicaSet 的行为与 ReplicationController 完全相同&#xff0c; 但pod 选择器的表达能力更强。 ReplicaSet 和 ReplicationController 的区别&#xff1a; ReplicationController 的标签选择器只允许包含某个标签的…

KUKA机器人故障报警信息处理(一)

1、KSS00276 机器人参数不等于机器人类型 ①登录专家模式 ②示教器操作&#xff1a;【菜单】—【显示】—【变量】—【单个】 ③名称输入&#xff1a;$ROBTRAFO[] 新值&#xff1a;TRAFONAME[] ④点击【设定值】。 2、电池报警&#xff1a; ①“充电电池警告-发现老化的蓄电池…

java:File类概述和构造方法

一、File类概述和构造方法 1.File类的概述 File&#xff1a;它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的对File而言&#xff0c;其封装并不是一个真正存在的文件&#xff0c;仅仅是一个路径名而已。它可以是存在的&#xff0c;也可以是不存在的。…

《MySQL是怎样运行的》读书笔记(二) 从一条记录说起-InnoDB记录结构

前言 到现在为止&#xff0c; MySQL 还是一个黑盒&#xff0c;只知道使用客户端发送请求并等待服务器返回结果 那么表中的数据到底存到了哪里?以什么格式存放的? MySQL 是以什么方式来访问的这些数据? 相应的知识储备我只知道MySQL 服务器上负责对表中数据的读取和写入工…