Python——获取各种笑话/段子

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: Python——获取各种笑话/段子

01 实现背景

1、笑话网站—ZOL笑话大全http://xiaohua.zol.com.cn/detail60/1.html,**我们获取笑话/段子的数据来源**

image.png

2、requests模块,用于http形式请求访问网页

3、BeautifulSoup模块,用于解析获取到的网页内容


02 实现目标

首先利用requests模块获取ZOL笑话大全网页源码,再通过BeautifulSoup模块进一步筛选获得笑话文本内容,最终存储在本地文件joke.txt


03 注意事项

1、本代码默认循环10次,即获取10个笑话内容,如需获取更多或更少笑话,可自行调整参数

for i in range(10)

2、本代码默认将获取的笑话内容,存储到python脚本所在目录的joke.txt文件,如需修改存储路径,可自行操作

with open('joke.txt',mode = 'a+') as file:



04 实现代码

import requests
from  bs4  import BeautifulSoup

headers = {
   
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
} #设置代理,破解简单的反爬机制

for i in range(10):   #循环10次,意思为检索笑话网10个页面
    resp = requests.get('http://xiaohua.zol.com.cn/detail60/{}.html'.format(i), headers = headers)
    html=resp.text
    soup =BeautifulSoup(html,'lxml')     #对网页内容进行解析
    print(soup.select('.article-title')[0].text)
    print(soup.select('.article-text')[0].text)
    print(soup.select('.article-source a')[0].text)
    with open('joke.txt',mode = 'a+') as file:       #将获取到的笑话存储在本地文件joke.txt中
        file.write(soup.select('.article-title')[0].text+'\n')
        file.write(soup.select('.article-text')[0].text+'\n')
        file.write(soup.select('.article-source a')[0].text+'\n')



05 实现效果

image.png

image.png

目录
相关文章
|
Web App开发 开发工具 git
如何下载Github上的单个文件或者指定目录?
如何下载Github上的单个文件或者指定目录?
3389 0
如何下载Github上的单个文件或者指定目录?
|
移动开发 小程序
IRS应用发布系统基本概念
服务侧负责将应用发布至浙里办APP和政务服务网,应用发布类型不同,应用发布流程也不同:
|
算法 API 计算机视觉
OpenCV(图像处理)-基于Python-形态学处理-开运算、闭运算、顶帽、黑帽运算
1. 形态学 OpenCV形态学是一种基于OpenCV库的数字图像处理技术,主要用于处理图像的形状、结构和空间关系。它包括一系列图像处理工具和算法,包括膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、黑帽等。
386 0
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
存储 NoSQL Java
|
存储 Java Spring
@Around 可以获取程序执行后的返回值吗
【8月更文挑战第13天】@Around 可以获取程序执行后的返回值吗
409 2
|
消息中间件 Prometheus 监控
RabbitMQ性能调优指南
【8月更文第28天】RabbitMQ 是一个非常流行的消息队列中间件,它支持多种消息协议,并且可以轻松集成到各种系统中。随着应用的扩展,确保 RabbitMQ 在高负载环境下能够高效稳定地运行变得至关重要。本文将深入探讨如何通过配置、监控以及最佳实践来优化 RabbitMQ 的性能。
2181 1
|
数据可视化 C# Python
C#基于ScottPlot进行可视化
C#基于ScottPlot进行可视化
202 1
|
监控 JavaScript C++
监控游戏c/c++的崩溃的解决方案
监控游戏c/c++的崩溃的解决方案
269 0
|
消息中间件 存储 数据管理
【Kafka】zookeeper对于kafka的作用是什么?
【4月更文挑战第6天】【Kafka】zookeeper对于kafka的作用是什么?