程序中请求到的和网页中内容不一样,但也是古诗,不是道是不是因为请求头的原因,使得网站推荐的古诗有差异

 1 import requests
 2 import re
 3
 4 headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
 5
 6 def get_html(url):
 7     try:
 8         response = requests.get(url, headers)
 9         response.raise_for_status()
10         response.encoding = response.apparent_encoding
11         return response.text
12     except:
13         print('get_html(url) faild')
14
15
16 def parse_html(html):
17     titles = re.findall(r'<div class="cont">.*?<b>(.*?)</b>', html, re.DOTALL)
18     dynasties = re.findall(r'<p class="source"><a.*?>(.*?)</a>', html, re.DOTALL)
19     authors = re.findall(r'<p class="source"><a.*?><a.*?>(.*?)</a>', html, re.DOTALL)
20     content_tags = re.findall(r'<div class="contson".*?>(.*?)</div>', html, re.DOTALL)
21     contents = []
22     for content in content_tags:
23         content = re.sub(r'<.*?>', '', content)
24         contents.append(content.strip())
25     poems = []
26     for value in zip(titles, dynasties, authors, contents):
27         title, dynasties, authors, content = value
28         poem = {
29             'title': title,
30             'dynasties': dynasties,
31             'authors': authors,
32             'content': content
33         }
34         print(poem)
35         poems.append(poem)
36     return poems
37
38
39 def main():
40     page_num = 10
41     for i in range(1, page_num+1):
42         url = 'https://www.gushiwen.org/default_{0}.aspx'.format(i)
43         html = get_html(url)
44         parse_html(html)
45
46
47 if __name__ == '__main__':
48     main()

运行结果

转载于:https://www.cnblogs.com/MC-Curry/p/9429442.html

爬虫_古诗文网(正则表达式)相关推荐

  1. python爬虫之古诗文网中验证码的识别并登录----第三方平台

    目标网站:古诗文网 目标网址:http://so.gushiwen.org/user/collect.aspx 任务要求: (1)通过selenium的方式模拟该网站的登录,并成功输入用户名和密码: ...

  2. c语言丢手帕,题手帕原文_李希圣古诗_古诗文网

    瘴花开谢水沈销,梦后楼台已寂寥.空觅峡中长短雨,不逢江上去来潮.盈怀楚浪还应入,点鬓吴霜渐欲凋.十二珠帘浑捲尽,依然人更比天遥.--清代·李希圣<题手帕>https://so.gushiw ...

  3. 古诗文网html,饮酒·结庐在人境原文|翻译|赏析_陶渊明古诗_古诗文网

    结庐在人境,而无车马喧. 问君何能尔?心远地自偏. 采菊东篱下,悠然见南山. 山气日夕佳,飞鸟相与还. 此中有真意,欲辨已忘言. 注释 1.[结庐在人境]:构筑房舍.结,建造.构筑.庐,简陋的房屋.人 ...

  4. 爬虫day01(上午) 模拟登录古诗文网

    前言:今天是学习爬虫的第一天,因为看的教学视频比较老,所以很多案例都不能用了,于是我自己发挥动手操作,做了个比视频里更有含金量的练习,由于与视频案例大有不同,所以期间发生了点问题,经过探索现已解决,留 ...

  5. Python3爬虫——用BeautifulSoup解析古诗文网

    我们之前已经用Xpath分析过了古诗文网,但还是感觉有点麻烦,所以今天来讲BeautifulSoup库,它可以很方便的帮我们抓取网页的数据,同样也支持lxml解析器,下面我们来详细介绍: 安装Beau ...

  6. 03-数据解析_正则表达式(03 【实战】古诗文网爬虫)

    目标:爬取中国古诗文网的诗词 注意: 用正则的思路不一样:不存在树结构,在正则眼里只当作'str' 关注zip的用法 中国古诗文网网页示例:   1.xpath方法 # -*- coding: utf ...

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

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

  8. Python爬虫实战(3)古诗文网

    Python爬虫实战(3)古诗文网 网页分析 代码 注意事项 输出结果 利用BeautifulSoup和和requests库实现古诗文网的古诗抓取 运行平台: Windows Python版本: Py ...

  9. 爬虫初级二(爬中国古诗文网)

    爬虫初级二(爬中国古诗文网) 第一步先分析要爬取网站的网址 为什么要先分析网址呢?通过网址我们可以知道此网页页面是异步请求(post)还是同步请求(get) get请求:最常见的HTTP请求方式,普通 ...

最新文章

  1. Grafana 6.4 正式发布!
  2. LJL-Solution-vss2005在项目中连接不上 解决方案
  3. ansible相关说明
  4. linux c ftp断点续传,求个支持断点续传的ftp脚本
  5. navicat连接oracle 报 ORA-12737 set CHS16GBK
  6. 学习python: 函数参数
  7. 请问如何查一篇外文文献的DOI号?
  8. 复现《Cell》图表:双侧柱状图及坐标轴设置,ComplexHeatmap图例设置
  9. python按综合、销量排序抓取100页的淘宝商品列表信息
  10. 双系统笔记本 android,电脑安装双系统 微软 安卓 实现一机多用
  11. Python爬虫实战--小猪短租爬虫
  12. 思科网络安全 第七章测验答案
  13. VB6.0 读取Excel2010简单方法(附源码和注释,可伸手)
  14. Spark:解析CSV文件并按列值分组
  15. LabVIEW视觉开发必备软件VAS、VDM、VBAI以及基于VDM的圆形
  16. 企业IM即时通讯软件需要具备哪些功能?
  17. 博客开张 - 来源 访问分析
  18. 电商常识中的SKU和SPU
  19. 开源的线上商城项目收集
  20. Python 视频格式转MP3等音频格式,以及图片大小转换

热门文章

  1. 硅谷 AI 之王 Sam Altman : 如何通过创业取得成功 | How to Succeed with a Startup
  2. 用WCAT进行IIS压力测试
  3. 【机器学习】模糊认知图(Fuzzy Cognitive Map, FCM)概念介绍
  4. Github高级搜素技巧—寻找开源项目
  5. 杰理之修改提高摄像头源视频输出帧率,确定摄像头源输出高帧率【篇】
  6. iOS提交马甲包神器KLGenerateSpamCode
  7. MySQL DEADLOCK
  8. uniapp扫码调用支付宝扫码
  9. Full Depth Morning Show(换根法, 树形dp)
  10. 3632: 外太空旅行