美文网首页
网页的解析之正则表达式

网页的解析之正则表达式

作者: 高金01 | 来源:发表于2018-09-29 10:58 被阅读0次

在爬虫入门到精通第四讲中,我们了解了如何下载网页,这一节就是如何从下载的网页中获取我们想要的内容

html = u"""
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文章的标题</title>
</head>
<body>
<div id="app" class="container">
<h1>h1文字</h1>

<label for="input">Input</label>
<textarea id="input" rows="10" class="form-control">
</body>
</html>
"""

我们要获取的html 如上所示

假如我们要获取文章的标题这几个文字,那么我们应该怎么做呢?

我们只要能定位到它,也就能获取到它

那么,如何定位到它呢?

很简单,根据它两边的内容.

我们很简单的能发现 它 左边是<title> ,右边是</title>

所以,我们如何找到文章的标题这几个文字呢,只要左边是title,右边是title,那么中间就是我们要找的

下面用程序写出来

image

可以看到我们正确匹配到了文章的标题,

我们首先来看 pattern = '<title>(.*?)</title>'

我们可以发现这就是我们上面讲的,左边是<title> ,右边是</title>,那么中间的(.*?)是什么呢?这其实是来用来声明我们要匹配的字符串是什么,这边我们用的是(.*?),表示我们要匹配的字符串可以是任何东西,没有格式要求。也就是俗称"万能匹配",大家可以下图的正则表达式语法,来解释下为什么 .*? 是万能匹配, .*? 外面的 () 又是什么鬼

string=html 表示我们当前要被匹配的是我们定义的html

最后flags=re.S 表示,(.*?)中的 . 可以匹配包括换行符(见下面表)

[0] 是取返回列表中的第一个,主要是方便演示

正则表达式语法(声明我们要匹配的字符串是什么格式的

引用自 博客园

image

re中所有的flags解释

image

最后再来一个案例,还是上面的html,我们需要匹配的内容是h1文字,代码如下

image

总结

看完本篇文章后,你应该要:

学会最通用的一种正则表达式

re.findall('左右的字符串(.*?)右边的字符串',等待匹配的字符串,flags)
大家想深入了解正则表达式的话

请 先看这一篇 正则表达式30分钟入门教程

再看这一篇 Regular expression operations

相关文章

  • Python学习

    第二十七天 爬虫学习(二) 1、回顾 网页解析器python中常见的网页解析器:1、正则表达式2、python自带...

  • Android开发 - 抓取并解析网页数据(xml解析、html

    参考:android 开发--抓取网页解析网页内容的若干方法(网络爬虫)(正则表达式) 网页有两种格式,一种是xm...

  • BeautifulSoup

    灵活又方便的网页解析库,处理高效,支持多种解析器。利用它不用编写正则表达式即可方便地实现网页信息的提取。 1 安装...

  • python网页解析器

    python 之网页解析器 一、什么是网页解析器 1、网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简...

  • 爬虫基础:BeautifulSoup库

    BeautifulSoup是灵活又方便的网页解析库,处理高效,支持多种解析器。虽然正则表达式比较强大,但是能用“美...

  • 07、BeautifulSoup库详解

    1、什么是BeautifulSoup? 灵活又方便的网页解析库,处理高效、支持多种解析器。利用它不用编写正则表达式...

  • 爬虫:05.BeautifulSoup库

    4. BeautifulSoup 灵活又方便的网页解析库,处理高效,支持多种解析器。利用它不用编写正则表达式即可方...

  • Python之BeautifulSoup

    BeautifulSoup是什么 一个灵活方便的网页解析库,处理高效,支持多种解析器 利用他不用编写正则表达式即可...

  • BeautifulSoup库介绍

    什么是BeautifulSoup灵活又方便的网页解析库,处理高效,支持多种解析器。利用它不用编写正则表达式就可以方...

  • 网页的解析之正则表达式

    在爬虫入门到精通第四讲中,我们了解了如何下载网页,这一节就是如何从下载的网页中获取我们想要的内容 我们要获取的ht...

网友评论

      本文标题:网页的解析之正则表达式

      本文链接:https://www.haomeiwen.com/subject/eqyvoftx.html