初战告捷,我们继续下一步,来获取网页中的标题和超链接。
观察一下,第一篇文章是这样的:

这篇文章的标题和超链接信息在我们返回的文本中是这样的:

上面的表示是超链接的内容,而下面的则是表示是标题大小为4号字体 ,注意它们的标签。
这个网站比较简单,它的文章标题直接用"<h4>“括起来了,所以直接用”<h4>"就可以搜索到所有标题;但链接就不行,因为<a>出现的地方比较多,不是所有的链接都是我们需要的,所以要另外处理。
从返回的文本中提取内容可以使用正则表达式,需要引入re包,利用findall函数来查找匹配的内容。
先提取这一页所有的文章标题,我们采用非贪婪匹配:

#引入requests包
import requests
#设定我们要爬取的内容,全部是企业环境信息披露下的文章,先找到其中第一篇文章
url='http://greenfinance.xinhua08.com/qyhjxxpl/'
#发出请求
req=requests.get(url)
#解决编码问题,注意get_encodings_from_content的参数是字符串,所以要用req.text而不是req.content
req.encoding=requests.utils.get_encodings_from_content(req.text)
#查看一下返回的文本
req.text
import re
#获取文章标题
retitle=re.findall('<h4>(.*?)</h4>',req.text,re.S)
retitle

这里<h4>(.*?)</h4>的意思是要提取在这两个标签中的内容,括号可千万别丢了,括号里才是我们要的。
看看是不是拿到了所有的文章标题?

接下来,我们要获取这一页所有文章的超链接。观察一下,超链接都在什么地方?
基本都在红色线标注的包围里,那就好办了。

#引入requests包
import requests
#设定我们要爬取的内容,全部是企业环境信息披露下的文章,先找到其中第一篇文章
url='http://greenfinance.xinhua08.com/qyhjxxpl/'
#发出请求
req=requests.get(url)
#解决编码问题,注意get_encodings_from_content的参数是字符串,所以要用req.text而不是req.content
req.encoding=requests.utils.get_encodings_from_content(req.text)
#查看一下返回的文本
req.text
import re
#获取文章标题
retitle=re.findall('<h4>(.*?)</h4>',req.text,re.S)
#获取文章链接
rehref=re.findall('<div class="newsinfo">.*?<a href="(.*?)">',req.text,re.S)
rehref

因为在标签<div class=“newsinfo”>和<a href="之间有空格和换行,所以我们需要加个.*?来排除。
再看看结果:

这些超链接好像也都拿到了,第二步圆满结束。下一步是从这些链接中取出对应文章的内容,然后保存起来,请看第(3)篇。

静态网页爬虫教程(2)链接和标题的提取相关推荐

  1. 静态网页爬虫教程(3)文本的提取和保存

    前面我们已经把文章的标题和超链接都提取出来了,看上去我们已经有能力把这些文章的内容全部提取出来了.但路要一步一步走,饭要一口一口吃,我们还是先来看一篇文章的内容是怎么提取和保存的吧. 首先还是先来看看 ...

  2. 静态网页爬虫教程(1)页面的获取

    最近想看看绿色金融方面的内容,也不知道搞啥,先在网上找找信息,于是把目标瞄上了新华财经--中国金融信息网.找到了其中的绿色金融的版块.发现上面的文章都是静态页面构成的,可以先把所有的页面信息爬取下来, ...

  3. 静态网页爬虫教程(5)带翻页的多篇文章内容提取和保存

    这是我们静态页面爬取的最后一篇了,主要针对的问题是翻页爬取. 先来观察一下翻页后的新页面地址是什么吧,我们可以看到,新页面的地址的设置很简单,就是改了个序号,第一页是1.shtml,第二页是2.sht ...

  4. 静态网页爬虫教程(4)同一页面多篇文章内容提取和保存

    前面的文章中,我们已经成功的完成了对一篇文章的内容提取和保存.现在新的问题又来了,之前我们提取过的超链接有那么多,标题也有不少,怎么能只提取一篇文章而放弃一堆呢?别急,下面我们就开始说说多篇文章的内容 ...

  5. 您访问的网页出错了! 网络连接异常、网站服务器失去响应_数据分析系列——静态网页爬虫进阶(requests)...

    在之前"数据分析系列--数据分析入门"16篇中有与爬虫的相关内容,介绍的相对简单.静态网页爬虫进阶系列将分别从网页的自动爬取(Requests).网络数据解析(BeautifulS ...

  6. python 静态网页_Python静态网页爬虫相关知识

    想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...

  7. 静态网页制作教程 (转载)

    方法/步骤 新建一个txt文本文档,先不要急着修改文件后缀名,有基础的朋友手动输入HTML代码,不会也没有关系,百度搜索"网页HTML代码". 代码: <!Doctype h ...

  8. python爬取豆瓣电影排行前250获取电影名称和网络链接[静态网页]————爬虫实例(1)

    目录 1.算法原理: 2.程序流程: 3.程序代码: 4.运行结果(部分结果展示): 5.结果分析: 1.算法原理: (1)利用import命令导入模块或者导入模块中的对象: ①利用requests库 ...

  9. Python静态网页爬虫----文字小说爬虫

    文字爬虫 1.爬虫的行为 2.项目设计 3.获取静态网页的html代码 4.获取下一章的url 5.获取小说的章节名字 6.获取小说正文 7.保存章节小说 8.合并临时文件 9.主程序 10.总结 首 ...

最新文章

  1. html5手机端的点击弹出侧边滑动菜单代码
  2. 海量数据处理的思路和方法
  3. Android stadio 电脑连上手机可以识别,但是连不上Android stadio
  4. vmware虚拟机redhat7.2下docker容器安装hadoop
  5. java cursor_使用3.0驱动程序的Java中的Tailable Cursor示例?
  6. THE REAL DRAGON WARRIORS
  7. SSM框架整合一(springmvc+spring+mybatis+maven+tomcat)
  8. 直击微信公开课:2019年小程序将会有哪些改变?
  9. 趣图:IT 项目的时间估算
  10. 1. golang 接入Discord做消息推送
  11. vue package.json 解析
  12. 仿微信app项目流程
  13. C/C++[codeup 2066]分组统计
  14. 奋斗5年,从月薪3500到700万(不止谈赚钱,故事也很感人)
  15. 北京小米Java有笔试吗_小米校招笔试题(java)
  16. 灯管实验的em算法_【大学物理实验】日光灯电路的组装及参数测量.ppt
  17. 根据中国时间求美国时间
  18. p标签换行导致的问题
  19. 华为云与计算机,华为云电脑和达龙云电脑
  20. CAP理论/AP架构/CP架构

热门文章

  1. java 比较表达式_java学习之运算符与表达式(三)
  2. 前锋PHP课程表,练手Lab课程表小程序源码 v1.0.0
  3. [读书笔记]《移山之道》的若干读后感
  4. 3.1 第一个工程——多数表决器
  5. 论文投稿指南——中文核心期刊推荐(电工技术2)
  6. 基于RS和GIS的北京土地利用变化监测--笔记
  7. 广东移动大数据助力“互联网+政务服务”发展
  8. 实现自己的大厂梦,毕业一年半拿遍所有大厂offer,怎么做到的?
  9. 工作4年JAVA工程师面试总结:高频试题提及,最容易忽略的问题(附答案解析)
  10. OFFICE 2016 安装和使用心得