爬取古诗文网的推荐古诗

这篇博客主要介绍了如何利用正则表达式从古诗文网爬取推荐古诗,涉及10页数据的抓取,并将结果保存为CSV文件。

爬取古诗文网的推荐古诗

思路分析

在这里插入图片描述
本次的主要目的是练习使用正则表达式提取网页中的数据。
该网站的推荐古诗文一共有10页,页码可以在URL中进行控制,比如说,下面的URL指的是第一页。

https://www.gushiwen.org/default.aspx?page=1

想要第几页只需要让page等于对应的页码数即可。
页面数据的提取使用的是正则表达式,由于爬取的数据较少,这里我就直接保存成CSV文件了。

完整代码

# !/usr/bin/env python
# —*— coding: utf-8 —*—
# @Time:    2020/2/3 13:04
# @Author:  Martin
# @File:    ancient_poetry.py
# @Software:PyCharm
import requests
import re
import pandas as pd


def main():
    endIndex = 10
    data = []
    url = 'https://www.gushiwen.org/default.aspx?page=%d'
    for i in range(1,
在PyCharm中爬取古诗文(gushiwen.org)的古诗内容,你需要结合前面提到的步骤。这里是一个简化的示例,假设我们想要抓取每首诗的标题和内容: 首先,确保安装了`requests`, `beautifulsoup4`库,如果没有,可以通过pip安装: ```bash pip install requests beautifulsoup4 ``` 然后,在PyCharm中创建一个新的Python项目,编写以下代码: ```python import requests from bs4 import BeautifulSoup def get_poem_content(url): headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) if response.status_code == 200: soup = BeautifulSoup(response.text, 'lxml') title = soup.select_one('.title').text.strip() # 假设标题在class为"title"的元素中 content = soup.select_one('.content').text.strip() # 假设内容在class为"content"的元素中 return title, content else: print(f"Error fetching URL: {url}") base_url = "https://so.gushiwen.org/shiwen/" page_number = 1 # 起始页,替换为实际页码 for i in range(1, 6): # 这里假设总共有5页,实际要爬多少页根据实际情况调整 page_url = f"{base_url}?page={page_number}" title, content = get_poem_content(page_url) print(f"第{i}页诗歌标题:{title}") print(f"第{i}页诗歌内容:{content}\n") # 将内容存入文件或数据库,这里仅打印展示 with open(f'poem_{page_number}.txt', 'w', encoding='utf-8') as file: file.write(f"标题:{title}\n内容:{content}\n\n") ``` 这段代码会访问指定的URL并获取每页的第一首诗的信息,将它们打印出来,并将结果保存到文本文件中。记得替换`base_url`和`page_number`以适应古诗文的实际布局。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值