使用正则表达式爬取古诗文网

爬取目标


具体字段为:

  • title 标题
  • dynasty 朝代
  • author 作者
  • content 内容
  • tag 标签

实现代码

'''
@Description: 使用正则表达式爬取古诗词网
@Author: sikaozhifu
@Date: 2020-06-09 14:55:44
@LastEditTime: 2020-06-09 15:55:47
@LastEditors: Please set LastEditors
'''
import requests
import re
from lxml import etree
poems = []def parse_url(url):  # 解析url返回的文档headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}response = requests.get(url, headers=headers)text = response.texttitles = re.findall(r'<div\sclass="cont">.*?<b>(.*?)</b>', text, re.DOTALL)dynasties = re.findall(r'<p\sclass="source">.*?<a.*?>(.*?)</a>', text, re.DOTALL)authors = re.findall(r'<p\sclass="source">.*?<a.*?>.*?</a>.*?<a.*?>(.*?)</a>', text, re.DOTALL)contents_temp = re.findall(r'<div\sclass="contson".*?>(.*?)</div>', text, re.DOTALL)contents = []for content in contents_temp:contents.append(re.sub('<.*?>', '', content).strip())# 使用lxml解析html = etree.HTML(text)tag_element = html.xpath('//div[@class = "tag"]')tags = []for tag_temp in tag_element:tag = tag_temp.xpath('string(.)')# 去掉标签字段中的空格、回车、换行等。tag = tag.replace('\n', '').replace('\r', '').replace(' ', '')tags.append(tag)for value in list(zip(titles, dynasties, authors, contents, tags)):title, dynasty, author, content, tag = valuepoem = {'title': title,'dynasty': dynasty,'author': author,'content': content,'tag': tag}poems.append(poem)def main():for x in range(1, 11):# 共有10页url = 'https://www.gushiwen.org/default_%s.aspx' % xparse_url(url)print(poems)if __name__ == "__main__":main()

结果展示

Python实战---使用正则表达式爬取古诗文网相关推荐

  1. Python真香之爬取古诗文网

    最近在学习Python相关,学习了基本的语法后想搞点事情试试,所以来爬取下古诗文网中的相关作者信息 准备资料: 爬取目标:爬取古诗文网的唐代作者的信息 目标分析: 一级页面是所有唐代作者的列表,点击名 ...

  2. python输出古诗词_python爬取古诗文网

    解析:正则表达式 代码 import requests import re def parse_page(url): headers = { 'User-Agent': 'Mozilla/5.0 (W ...

  3. 用正则表达式爬取古诗文网站,边玩边学

    用正则表达式爬取古诗文网站,边玩边学 古诗文网站是一个充满了文化气息的网站,里面收录了大量的古代诗词和文章,对于喜欢文化和历史的人来说是一个非常不错的学习资源.但是如果需要大量下载或者获取古诗文网站上 ...

  4. Python使用网络抓包的方式,利用超级鹰平台识别验证码登录爬取古诗文网、上篇--识别验证码

    Python使用网络抓包的方式,利用超级鹰平台识别验证码登录,<爬取古诗文网>. 上篇–识别验证码 序言: 哈喽,各位小可爱们,我又来了,这次我新学习到的内容是python爬虫识别验证码. ...

  5. 爬取古诗文网的推荐古诗

    爬取古诗文网的推荐古诗 思路分析 完整代码 结果展示 思路分析 本次的主要目的是练习使用正则表达式提取网页中的数据. 该网站的推荐古诗文一共有10页,页码可以在URL中进行控制,比如说,下面的URL指 ...

  6. Python爬虫:正则表达式爬取校花网

    #正则表达式爬取校花网 # 网址 url = 'http://www.xiaohuar.com' #分页爬取大学校花图片共16页640张美图 1.导入模块 import requests import ...

  7. Python爬虫(一)——爬取古诗文网,初识什么是爬虫

    首先来说下什么是爬虫,按照百度百科的说法是:是一种按照一定规则,自动抓取万维网信息的程序或者脚本:首先它是程序,需要我们定义好规则,然后程序就会按照定义好的规则抓取网络上的信息,数据抓取下来了之后,需 ...

  8. 爬虫学习笔记:爬取古诗文网

    1.目标网站 目标网站:https://so.gushiwen.org/shiwen/default.aspx? 2.爬虫目的 爬取目标网站的文本,如古诗的内容,作者,朝代,并且保存到本地中. 3.爬 ...

  9. Python-爬虫(爬虫练习 爬取古诗文网五言绝句)

    目标网站 采用的数据解析方式:xpath.bs4.re正则 获取网站中所有的五言绝句诗词链接 from bs4 import BeautifulSoup import re# 获取五言绝句代码链接,以 ...

最新文章

  1. ML之回归预测:利用FSR/RiR/BasisExpand/ Lasso/DT/RF/GB算法对红酒品质wine数据集实现红酒口感评分预测(实数值评分预测)
  2. unoconv执行出错unable to connect or start own listener
  3. pgsql函数定时更新表_Postgresql PL/PGSQL 程序语言系列 1 (存储过程过时了吗,与函数)...
  4. 阿里云天池赛题解析——深度学习篇重磅发布!
  5. python标准库——datetime模块
  6. ant design——Modal
  7. 常用浏览器如何设置代理服务器上网(图文教程)
  8. 《2021中国开源发展蓝皮书》发布——中国开源接近世界先进水平
  9. 聊聊我在职场的至暗时刻!
  10. Time时间格式化当前时间
  11. vue可视化拖拽生成工具_一款可拖拽的WEB表单设计布局器-(echarts-vue-jquery-可视化图表)...
  12. Memcached的安装及配置
  13. 【小程序】滚动到指定位置
  14. C语言【数据结构】栈和队列【OJ题(C++)、选择题】
  15. MATLAB数字图像课题的开题报告
  16. linux获取系统时间戳
  17. 并查集+字符排序-困兽之斗(乐视题)
  18. 【GDOI2017模拟8.14】守鹤之砂
  19. 二次剩余问题x的求解及代码实现(python)
  20. Dell Wyse 3040瘦客户机,EMMC刷入OpenWrt,并启用自带的无线网卡

热门文章

  1. Web侦察工具HTTrack (爬取整站)
  2. Python自定义豆瓣电影种类,排行,点评的爬取与存储(进阶上)
  3. 流量与画像:消失掉的用户消费
  4. 我愿为这二极管奉献我的一生
  5. uniapp实现webview和APP之间的传值通信 / VUE和HTML页面通信
  6. 关于For-Each的一个小知识
  7. 短网址缩短网址源码Shortny v2.0.1
  8. SSRF中phar协议和gopher协议的利用
  9. matlab光学仿真——菲涅尔透镜优化代码
  10. React Native之二维码扫描