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