Python爬虫抓取唐诗宋词
时间:2022-07-24
本文章向大家介绍Python爬虫抓取唐诗宋词,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一 说明
Python语言的爬虫开发相对于其他编程语言是极其高效的,在上一篇文章 爬虫抓取博客园前10页标题带有Python关键字(不区分大小写) 的文章中,我们介绍了使用requests做爬虫开发,它能处理简单 的任务,也是入门爬虫最简单的方式。接下来我们将为大家介绍使用 beautiful soup 库 来做稍微复杂一点的任务。
二 实操
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2020/7/23 5:58 下午
# @Author : Albert Ma
# @File : test1.py
import requests
from bs4 import BeautifulSoup
##################
# 唐诗300首代码开始
##################
numbers = []
dynasties = []
poets = []
names = []
poems = []
for i in range(1, 17):
i = str(i)
url = 'http://www.shicimingju.com/shicimark/tangshisanbaishou_' + i + '_0__0.html'
r = requests.get(url)
demo = r.text # 服务器返回响应
soup = BeautifulSoup(demo, "html.parser")
"""
demo 表示被解析的html格式的内容
html.parser表示解析用的解析器
"""
html1 = soup.find_all(class_ = 'list_num_info')
for text in html1:
text = text.get_text().replace('n', '').replace(' ', '').replace('[', '|').replace(']', '|')
text = text.split('|')
numbers.append(text[0])
dynasties.append(text[1])
poets.append(text[2])
html2 = soup.find_all(class_ = 'shici_list_main')
for text in html2:
text = text.get_text().replace('n', '').replace(' ', '')
text = text.replace('展开全文', '').replace('收起', '').replace('《', '').replace('》', '|')
text = text.split('|')
names.append(text[0])
poems.append(text[1])
print(len(names), names)
print(len(poets), poets)
print(len(poems), poems)
print(len(numbers), numbers)
print(len(dynasties), dynasties)
##################
# 唐诗300首代码结束
##################
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- maven导入jar包到本地仓库
- Python-matplotlib 空间栅格数据可视化
- 图解面试题:如何找到喜欢的电影?
- Java agent 与 byte buddy
- 关于TRTC云端混流的踩坑分享
- 聊聊dubbo-go的ConsistentHashLoadBalance
- R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型
- R语言使用随机技术差分进化算法优化的Nelson
- R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析
- R语言和QuantLib中Nelson-Siegel模型收益曲线建模分析
- 用R语言用Nelson Siegel和线性插值模型对债券价格和收益率建模
- R语言LME4混合效应模型研究教师的受欢迎程度
- R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例
- R语言中的风险价值模型度量指标TVaR与VaR
- R语言用线性回归模型预测空气质量臭氧数据