2018年10月11日  这是第一个博客,嘻嘻~~~~

最近老师给了个任务:爬取诗歌。于是乎,走上了爬虫道路,爬取了李白的诗歌。

感谢代码的原作者(唐诗三百首,源代码)。

遇到的问题与收获:

1.熟悉了正则表达式在HTML中的匹配规则,能够编写出相应的正则表达式

2.不能利用正则表达式返回同一页面多个相同标签的内容

附上代码

# -*- coding:utf-8 -*-
import re
import requestsdef crawl(start_url):base_url = 'http://so.gushiwen.org'req_headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}for i in range(1, 126):restart_url = start_url + str(i) + '.aspx'print(restart_url)res = requests.get(restart_url, headers=req_headers)if res.status_code == requests.codes.ok:html = res.text# 获取所有诗的链接parttern_href = re.compile(r'<div class="cont">.*?<p><a .*? href="(.*?)" .*?>.*?</p>', flags=re.DOTALL)hrefs = re.findall(parttern_href, html)# 获取每一首诗的内容,并保存到本地with open('李白诗集.txt', mode='a', encoding='utf-8') as f:for href in hrefs:href = base_url + hrefres = requests.get(href, headers=req_headers)if res.status_code == requests.codes.ok:html = res.text# 标题parttern_title = re.compile(r'<div class="cont">.*?<h1 .*?>(.*?)</h1>', re.DOTALL)title = re.search(parttern_title, html).group(1)# 内容parttern_content = re.compile(r'<div class="cont">.*?<div class="contson" id=".*?">(.*?)</div>',re.DOTALL)content = re.search(parttern_content, html).group(1)content = re.sub(r'<br />', '\n', content)content = re.sub(r'<p>', '', content)content = re.sub(r'</p>', '', content)print('正在获取 {title}'.format(title=title))f.write('{title}{content}\n'.format(title=title, content=content))if __name__ == '__main__':start_url = 'https://so.gushiwen.org/authors/authorvsw_b90660e3e492A'crawl(start_url)

运行结果

第一个简单Python爬虫:抓取古诗文网中李白的诗歌相关推荐

  1. Python爬虫爬取古诗文网站项目分享

    作为一个靠python自学入门的菜鸟,想和大家分享自己写的第一个也是目前为止唯一一个爬虫代码 写爬虫要具备的能力基础:python入门基础,html5基础知识,然后这边用的是scrapy框架,所以还要 ...

  2. Python爬虫-抓取PC端网易云音乐评论(GUI界面)

    歌曲搜素 网易云音乐网址为:https://music.163.com/ 思路是进入后输入一个歌曲名,点击搜索按钮,通过开发者调试工具捕获搜索请求,捕获到的数据信息如下: 所有的歌曲相关信息都在res ...

  3. Python爬虫抓取去哪儿网景点信息告诉你国庆哪儿最堵

    摘要 本文主要介绍了使用Python抓取去哪儿网站的景点信息并使用BeautifulSoup解析内容获取景点名称.票销售量.景点星级.热度等数据,然后使用xlrd.xlwt.xlutils等库来处理E ...

  4. python爬虫——抓取煎蛋网ooxx妹子图的一个小工具

    一点学习成果,仅限学习交流! 一.部分源码: def get_page(html):# 获取下一页链接start1 = str(html).find("Older Comments" ...

  5. 【python教程入门学习】Python爬虫抓取猫眼电影排行榜

    本节使用 Python 爬虫抓取猫眼电影网 TOP100 排行榜(https://maoyan.com/board/4)影片信息,包括电影名称.上映时间.主演信息. 在开始编写程序之前,首先要确定页面 ...

  6. 用python爬虫下载视频_使用Python编写简单网络爬虫抓取视频下载资源

    我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚 ...

  7. 如何使用Python爬虫抓取数据?

    Python爬虫应用十分广泛,无论是各类搜索引擎,还是日常数据采集,都需要爬虫的参与.其实爬虫的基本原理很简单,今天小编就教大家如何使用Python爬虫抓取数据,感兴趣的小伙伴赶紧看下去吧! 工具安装 ...

  8. python 爬虫抓取心得分享

    /** author: insun title:python 爬虫抓取心得分享 blog:http://yxmhero1989.blog.163.com/blog/static/11215795620 ...

  9. python爬虫招聘-Python爬虫抓取智联招聘(基础版)

    原标题:Python爬虫抓取智联招聘(基础版) 作者:C与Python实战 「若你有原创文章想与大家分享,欢迎投稿.」 对于每个上班族来说,总要经历几次换工作,如何在网上挑到心仪的工作?如何提前为心仪 ...

最新文章

  1. ajax传html调用样式的问题
  2. SD--如何在输出控制中增加自定义字段
  3. 设c语言中 一个int型数据库,最新真实全国二级C选择题真题第1套
  4. StringFormat
  5. Java 8 中的哈希表
  6. 编译安装httpd-2.4.12
  7. AndroidStudio_从Eclipse到AndroidStudio开发工具_两者使用的区别_通过向导新建项目和引入module---Android原生开发工作笔记68
  8. 优秀自我简介200字_自我简介200字左右7篇
  9. Android底层控制系统设置的命令集合
  10. 简析边缘数据中心技术
  11. 造价120万人民币,日本这款美女机器人是你梦寐以求的机器人老婆吗?
  12. 0ffice2003安装2007兼容包不能使用的解法
  13. 数字图像处理 离散余弦变换(DCT)和峰值信噪比(PSNR)
  14. php微信开发之微信卡券
  15. 操作系统中的基础抽象
  16. 联想g510拆键盘的简单方法_笔记本键盘怎么拆 教你如何正确拆笔记本键盘 (全文)...
  17. 大厂智力题讲解,学它!!!!(一)
  18. 华为小实例|VRRP协议
  19. 2.07 CISC与RISC
  20. 上交所几大业务平台简介

热门文章

  1. 美国 计算机硕士 在线,美国6所不需要CS背景的计算机硕士工程
  2. Keil编译出现keilc error C183: unmodifiable lvalue错误
  3. 58. 缓冲区溢出篇——缓冲区溢出原理简介
  4. 基于Python的CNN模型设计 文档+代码
  5. 夜间模式(黑夜模式)的简单实现
  6. Android横竖屏切换相关知识点
  7. Xcode 项目改名及出错处理
  8. 【蓝桥杯试题】 递归实现指数型枚举例题
  9. 互联网网站类型主要有哪些
  10. 旷视科技 算法工程师校招一面面经