Python实战---使用正则表达式爬取古诗文网
使用正则表达式爬取古诗文网
爬取目标
具体字段为:
- 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实战---使用正则表达式爬取古诗文网相关推荐
- Python真香之爬取古诗文网
最近在学习Python相关,学习了基本的语法后想搞点事情试试,所以来爬取下古诗文网中的相关作者信息 准备资料: 爬取目标:爬取古诗文网的唐代作者的信息 目标分析: 一级页面是所有唐代作者的列表,点击名 ...
- python输出古诗词_python爬取古诗文网
解析:正则表达式 代码 import requests import re def parse_page(url): headers = { 'User-Agent': 'Mozilla/5.0 (W ...
- 用正则表达式爬取古诗文网站,边玩边学
用正则表达式爬取古诗文网站,边玩边学 古诗文网站是一个充满了文化气息的网站,里面收录了大量的古代诗词和文章,对于喜欢文化和历史的人来说是一个非常不错的学习资源.但是如果需要大量下载或者获取古诗文网站上 ...
- Python使用网络抓包的方式,利用超级鹰平台识别验证码登录爬取古诗文网、上篇--识别验证码
Python使用网络抓包的方式,利用超级鹰平台识别验证码登录,<爬取古诗文网>. 上篇–识别验证码 序言: 哈喽,各位小可爱们,我又来了,这次我新学习到的内容是python爬虫识别验证码. ...
- 爬取古诗文网的推荐古诗
爬取古诗文网的推荐古诗 思路分析 完整代码 结果展示 思路分析 本次的主要目的是练习使用正则表达式提取网页中的数据. 该网站的推荐古诗文一共有10页,页码可以在URL中进行控制,比如说,下面的URL指 ...
- Python爬虫:正则表达式爬取校花网
#正则表达式爬取校花网 # 网址 url = 'http://www.xiaohuar.com' #分页爬取大学校花图片共16页640张美图 1.导入模块 import requests import ...
- Python爬虫(一)——爬取古诗文网,初识什么是爬虫
首先来说下什么是爬虫,按照百度百科的说法是:是一种按照一定规则,自动抓取万维网信息的程序或者脚本:首先它是程序,需要我们定义好规则,然后程序就会按照定义好的规则抓取网络上的信息,数据抓取下来了之后,需 ...
- 爬虫学习笔记:爬取古诗文网
1.目标网站 目标网站:https://so.gushiwen.org/shiwen/default.aspx? 2.爬虫目的 爬取目标网站的文本,如古诗的内容,作者,朝代,并且保存到本地中. 3.爬 ...
- Python-爬虫(爬虫练习 爬取古诗文网五言绝句)
目标网站 采用的数据解析方式:xpath.bs4.re正则 获取网站中所有的五言绝句诗词链接 from bs4 import BeautifulSoup import re# 获取五言绝句代码链接,以 ...
最新文章
- ML之回归预测:利用FSR/RiR/BasisExpand/ Lasso/DT/RF/GB算法对红酒品质wine数据集实现红酒口感评分预测(实数值评分预测)
- unoconv执行出错unable to connect or start own listener
- pgsql函数定时更新表_Postgresql PL/PGSQL 程序语言系列 1 (存储过程过时了吗,与函数)...
- 阿里云天池赛题解析——深度学习篇重磅发布!
- python标准库——datetime模块
- ant design——Modal
- 常用浏览器如何设置代理服务器上网(图文教程)
- 《2021中国开源发展蓝皮书》发布——中国开源接近世界先进水平
- 聊聊我在职场的至暗时刻!
- Time时间格式化当前时间
- vue可视化拖拽生成工具_一款可拖拽的WEB表单设计布局器-(echarts-vue-jquery-可视化图表)...
- Memcached的安装及配置
- 【小程序】滚动到指定位置
- C语言【数据结构】栈和队列【OJ题(C++)、选择题】
- MATLAB数字图像课题的开题报告
- linux获取系统时间戳
- 并查集+字符排序-困兽之斗(乐视题)
- 【GDOI2017模拟8.14】守鹤之砂
- 二次剩余问题x的求解及代码实现(python)
- Dell Wyse 3040瘦客户机,EMMC刷入OpenWrt,并启用自带的无线网卡