端午节快到了,端午节令我记忆深刻就是插杨柳,和吃粽子。我们那边没有赛龙舟的习俗,因为我们住在山上,都没有河流,有也只是那种小溪。这可能是因为我们那边的位置原因吧! 导致我们没有赛龙舟的习俗o(╥﹏╥)o。
每到端午节,家家户户都要在门口插杨柳,小时候,大人忙的时候就让我们小孩去半山腰的田地里要些柳枝。因为哪里有一颗柳树旁边就一个不用的水库。我们都会先拿柳枝在那个水库玩,玩够了再拿回家。现在想想,不得不说童年的快乐真的很简单!
水库是以前用来给田里的水稻供水的,几乎每一片水稻地就是有一个用水泥建的小水库。但在我记忆中,那些水库从来没有过水。因为旁边的地都用来种玉米了,或者其他的了。种水稻可能是我还没有出生的时候,或者很小很小的时候。应该是爷爷年轻那时候吧!
这几年除了过大年,都很少回家了。特别是工作以后,去年开始实习,导致去年一年都没有回家。今年端午也不回去了,因为回一趟家,要转好几次车才回到家,你到家差不多要花费一天的时间。
虽然不能回家,但端午还是要过,由于最近在学爬虫,自己也是比较喜欢古诗。所有想用Python爬取古诗网中屈原的诗。以纪念屈原。
首先要安装两个库requests, bs4。安装命令如下:
# requests 用来发送网路请求的库
pip install requests
# bs4 对象的 BeautifulSoup 用来解析html的
pip install bs4
上代码
import time
import requests
from bs4 import BeautifulSoup
# 请求头
header = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36"
}
# 获取每页数据的方法
def get_page_list(url, params):
result = requests.get(url, headers=header, params=params)
page_html = BeautifulSoup(result.text, "html.parser")
# 所有诗的div
poems_html = page_html.find("div", id="leftZhankai")
# 每首诗的div
poems = poems_html.find_all("div", class_="cont")
poems_list = []
for poem in poems:
dic = {}
title = poem.find("a", target="_blank").text
content = poem.find("div", "contson").text
dic = {
"title": title,
"content": content,
}
poems_list.append(dic)
result.close()
current = params["page"]
print(f"第{current}页爬取完成, 任务仍在进行...")
return poems_list
# 获取所有数据的方法
def get_poems(url):
params = {
"page": "1",
"tstr": "屈原",
}
poems_list = []
for item in range(1, 5):
params["page"] = item
poems_page = get_page_list(url, params)
poems_list.extend(poems_page)
time.sleep(1)
return poems_list
# 下载数据的方法
def download_data(path, data):
with open(path, "w", encoding="utf-8") as f:
for poem in data:
f.write(poem["title"])
f.write(poem["content"])
f.write("nn")
# 花式打印
def printer(text, delay = 0.1):
for word in text:
print(f"