1. 下面是古诗文网站的网络爬虫代码
# encoding:utf-8
import requests
import re
import json
def parse_page(url):
# 1.请求网站
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36"
}
response = requests.get(url, headers=headers)
text = response.text
# 2.解析网站
titles = re.findall(r'<div\sclass="cont">.*?<b>(.*?)</b>', text, re.DOTALL)
# print json.dumps(titles, encoding="utf-8", ensure_ascii=False)
times = re.findall(r'<p\sclass="source">.*?<a\s.*?>(.*?)</a>', text, re.DOTALL)
# print json.dumps(times, encoding="utf-8", ensure_ascii=False)
authors = re.findall(r'<p class="source">.*?<a.*?<a.*?>(.*?)</a>', text, re.DOTALL)
poems_ret = re.findall(r'<div class="contson" id=.*?>(.*?)</div>', text, re.DOTALL)
poems = []
for poem in poems_ret:
temp = re.sub("<.*?>", "", poem)
poems.append(temp.strip())
# for index, value in enumerate(titles):
# print titles[index]
# print times[index]
# print authors[index]
# print poems[index]
# print "*"*50
# zip函数自动实现上述组合
results = []
for value in zip(titles, times, authors, poems):
title, time, author, poem = value
result = {
"标题": title,
"朝代": time,
"作者": author,
"原文": poem
}
print result["标题"]
results.append(result)
# print results
def main():
url_base = "https://www.gushiwen.org/default_{}.aspx"
for i in range(1, 11):
url = url_base.format(i)
print " "*20+"优美古诗文"+" "*20
print "*"*50
parse_page(url)
print "*"*50
if __name__ == '__main__':
main()
2. 打印出来的结果为:
D:\Python3\python27\python.exe D:/PyCharm/dytt_spider/poems.py
优美古诗文
**************************************************
长门怨三首
至正改元辛巳寒食日示弟及诸子侄
青松
守岁
雨后池上
丹阳送韦参军
省试湘灵鼓瑟
九日置酒
观祈雨
碧涧别墅喜皇甫侍御相访
**************************************************
优美古诗文
**************************************************
春愁
送董元达
水龙吟·过南剑双溪楼
更漏子·春夜阑
惜分飞·寒夜
叠题乌江亭
踏莎行·自沔东来丁未元日至金陵江上感梦而作
南池
东风第一枝·咏春雪
胡无人
**************************************************
优美古诗文
**************************************************
天香·烟络横林
长门怨二首
题张司业诗
子夜歌·夜长不得眠
无题·重帏深下莫愁堂
咏新竹
蝶恋花·醉别西楼醒不记
清平乐·发汉儿村题壁
行路难·缚虎手
城西访友人别墅
**************************************************
优美古诗文
**************************************************
送李中丞之襄州 / 送李中丞归汉阳别业
渡扬子江
昭君怨·咏荷上雨
扬子江
南柯子·山冥云阴重
浪淘沙·借问江潮与海水
喜外弟卢纶见宿
春残
风流子·出关见桃花
齐安郡中偶题二首
**************************************************
优美古诗文
**************************************************
浪淘沙·红影湿幽窗
宫中行乐词八首·其二
秋闺思二首
折桂令·春情
移家别湖上亭
酒泉子·楚女不归
卜算子·新柳
渔父
江城子·浣花溪上见卿卿
一剪梅·红藕香残玉簟秋
**************************************************
优美古诗文
**************************************************
渡辽水
高山流水·次夫子清风阁落成韵
斗百花·煦色韶光明媚
奉济驿重送严公四韵
感弄猴人赐朱绂
陪金陵府相中堂夜宴
好事近·汴京赐宴闻教坊乐有感
蝶恋花·九日和吴见山韵
踏莎行·元夕
归雁二首
**************************************************
优美古诗文
**************************************************
送孔巢父谢病归游江东兼呈李白
鹧鸪天·当日佳期鹊误传
满江红·中秋寄远
清平乐·凄凄切切
红牡丹
蝶恋花·柳絮年年三月暮
好事近·花底一声莺
秋夕
丁香结·夷则商秋日海棠
送紫岩张先生北伐
**************************************************
优美古诗文
**************************************************
西江月·世事短如春梦
蒹葭
诉衷情·一波才动万波随
去蜀
小儿垂钓
杂诗十二首·其二
应天长·条风布暖
浣溪沙·髻子伤春慵更梳
一剪梅·舟过吴江
迎燕
**************************************************
优美古诗文
**************************************************
菩萨蛮·平林漠漠烟如织
浪淘沙·疏雨洗天清
留别妻
过秦楼·大石
阳台梦·薄罗衫子金泥凤
水调歌头·落日古城角
皇皇者华
人南渡·兰芷满汀洲
满江红·建康史帅致道席上赋
金陵怀古
**************************************************
优美古诗文
**************************************************
蝶恋花·欲减罗衣寒未去
赠刘景文
木兰花慢·立秋夜雨送梁汾南行
南乡子·和杨元素时移守密州
柳梢青·送卢梅坡
满江红·登黄鹤楼有感
浣溪沙·楼倚春江百尺高
田园乐七首·其六 / 闲居
送赞律师归嵩山
九日吴山宴集值雨次韵
**************************************************
Process finished with exit code 0