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

今天我们来获取古诗词网站的一些古诗词来提供给孩子们学习

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

在这里插入图片描述

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

在这里插入图片描述

第 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)我这里就不存了,如果你在存入的途中有任何问题,都可以咨询我。。虽然我技术也不高。。但是只要我会就一定告诉你。。。

希望对大家有帮助

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

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

猜你喜欢

转载自blog.csdn.net/weixin_42636075/article/details/131953398