Python爬虫实战(基础篇)—4获取古诗词给孩子学习(附完整代码)

专栏导读

🔥🔥本文已收录于《Python基础篇爬虫》

🉑🉑本专栏专门针对于有爬虫基础准备的一套基础教学,轻松掌握Python爬虫,欢迎各位同学订阅,专栏订阅地址:点我直达

🤞🤞此外如果您已工作,如需利用Python解决办公中常见的问题,欢迎订阅《Python办公自动化》专栏,订阅地址:点我直达

🔺🔺此外《Python30天从入门到熟练》专栏已上线,欢迎大家订阅,订阅地址:点我直达

背景

  • 由于我还没结婚,我还没有小孩,但是我打算提前想总结一些古诗词给未来的小孩读一下,今天我们来获取古诗词网站的一些古诗词来提供给孩子们学习

课程回顾

  • PS前面几节课的内容在专栏这里,欢迎大家考古:点我

在这里插入图片描述

准备URL

  • 首先我们看一下网站:点我,今天我们来获取一下【唐诗三百首】

在这里插入图片描述

第 1 步:网页分析

在网页中我们发现有许多以古诗词名字作为链接的 URL

我们第一步是获取到【唐诗三百】网页中所有的古诗词 链接

代码1(获取所有的古诗词链接)

import requests

url = requests.get("https://so.gushiwen.cn/gushi/tangshi.aspx")
# url.encoding= "gbk"
# print(url.text)
data = url.text
print(data)
  • 这里我们发现确实可以获取到所有的链接

在这里插入图片描述
在这里插入图片描述

第 2 步:代码2(数据清洗)

import re
import requests
url = requests.get("https://so.gushiwen.cn/gushi/tangshi.aspx")
data = url.text
data2 = re.findall(r'<span><a href="(.*?)" target="_blank">(.*?)</a>(.*?)</span>',data)
for i in data2:
    print(f'诗名:{i[1]},作者:{i[2]},诗句链接:https://so.gushiwen.cn/{i[0]}')

在这里插入图片描述

第 3 步:请求链接URL+数据清洗,获取诗词(完整代码)

import re
import requests
url = requests.get("https://so.gushiwen.cn/gushi/tangshi.aspx")
data = url.text
# print(data)
data2 = re.findall(r'<span><a href="(.*?)" target="_blank">(.*?)</a>(.*?)</span>',data)
# print(data2)
for i in data2:

    url2 = 'https://so.gushiwen.cn/'+i[0]
    data2 = requests.get(url2).text
    # print(data2)
    gushi = re.findall('name="description" content="(.*?)" /',data2)
    # print(gushi)

    # print(f'诗名:{i[1]},作者:{i[2]},诗句链接:https://so.gushiwen.cn/{i[0]}')
    print(f'诗名:{i[1]},作者:{i[2]},古诗内容:{gushi}')
  • 搞定:

在这里插入图片描述

1、 其实代码到这,大家可以继续数据清洗,从网页中清洗出【译文及注释】、【赏析】、【创作背景】、【作者介绍】等等,这里就当布置一个小作业,大家回去后可以继续完善

2、 大家可以将获取的古诗词写入word(用到的库是 `python-docx`),可以写入txt,可以写入Excel(用到的库是`openpyxl`)我这里就不存了,如果你在存入的途中有任何问题,都可以咨询我。。虽然我技术也不高。。但是只要我会就一定告诉你。。。

拓展—BS4版本

import requests
from bs4 import BeautifulSoup
url = requests.get("https://so.gushiwen.cn/gushi/tangshi.aspx")
data = url.text
soup = BeautifulSoup(data,"html.parser")
data2 = soup.findAll("a",target="_blank")
spans = soup.find("div",class_="sons").findAll("div",class_="typecont")

results = []
for i in spans:
    a_tags = i.find_all("a")
    for a_tag in a_tags:
        result = {
            "text": a_tag.text.strip(),
            "href": a_tag["href"]
        }
        results.append(result)

for i2 in results:
    print(i2)

总结

希望对大家有帮助

我也正在努力学习爬虫,大家共同进步!!

都看到这了,关注+点赞+收藏=不迷路!!

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Scrapy是一个强大的 Python 爬虫框架,可以用来爬取网站上的数据。通过使用Scrapy,我们可以轻松地爬取唐诗三百首的文本内容,并对这些文本进行分析和处理。 唐诗三百首是中国古代文学的经典之作,包括了许多著名的诗人和他们的优秀作品。通过使用Scrapy爬取唐诗三百首,我们可以将这些珍贵的文学作品保存下来,并进行各种分析和展示。 通过对唐诗三百首的爬取和分析,我们可以发现其中蕴含着丰富的文化内涵和艺术价值。这些诗歌所表达的情感和思想,对于我们了解古代中国的文学和历史具有重要意义。通过对这些诗歌进行深入的研究和分析,我们可以更好地理解古代中国人的生活和思想,并将这种理解传播给更多的人。 同时,通过对唐诗三百首的爬取和分析,我们也可以发现其中的一些规律和特点,比如诗歌的格律、意象和主题等方面。通过对这些规律进行总结和分析,我们可以更好地了解唐诗的创作特点和发展趋势,为我们更深入地研究和欣赏古代诗歌提供重要的参考。 总之,通过使用Scrapy爬取唐诗三百首,我们可以将这些珍贵的文学作品保存下来,并进行各种深入的分析和研究,从而更好地了解和传承中国古代文学的精髓。 Scrapy 爬取唐诗三百首不仅可以提供丰富的文学资源,也可以为文学研究和教育工作带来很大的便利和帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一晌小贪欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值