Python中urllib模块的子模块有哪些呢?

    瞧,返回的是一个字典,这样我们就知道网页的编码方式了,通过获得的信息,采用不同的解码方式即可。

PS:关于编码方式的内容,可以自行百度,或者看下这篇博客:

}

通常来说对咱们而言,须要抓取的是某个网站或者某个应用的内容,提取有用的价值。内容通常分为两部分,非结构化的数据结构化的数据php

  • 非结构化数据:先有数据,再有结构,
  • 结构化数据:先有结构、再有数据
  • 不一样类型的数据,咱们须要采用不一样的方式来处理。

文本、电话号码、邮箱地址

  • 转化成Python类型进行操做(json类)

实际上爬虫一共就四个主要步骤css

  1. 明确目标 (要知道你准备在哪一个范围或者网站去搜索)
  2. 爬 (将全部的网站的内容所有爬下来)
  3. 取 (去掉对咱们没用处的数据)
  4. 处理数据(按照咱们想要的方式存储和使用)

咱们在昨天的案例里实际上省略了第3步,也就是"取"的步骤。由于咱们down下了的数据是所有的网页,这些数据很庞大而且很混乱,大部分的东西使咱们不关心的,所以咱们须要将之按咱们的须要过滤和匹配出来。html

那么对于文本的过滤或者规则的匹配,最强大的就是正则表达式,是Python爬虫世界里必不可少的神兵利器。java

正则表达式,又称规则表达式,一般被用来检索、替换那些符合某个模式(规则)的文本。node

正则表达式是对字符串操做的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。python

给定一个正则表达式和另外一个字符串,咱们能够达到以下的目的:程序员

  • 给定的字符串是否符合正则表达式的过滤逻辑(“匹配”);
  • 经过正则表达式,从文本字符串中获取咱们想要的特定部分(“过滤”)。

在 Python 中,咱们可使用内置的 re 模块来使用正则表达式web

有一点须要特别注意的是,正则表达式使用 对特殊字符进行转义,因此若是咱们要使用原始字符串,只需加一个 r 前缀,示例:正则表达式

re 模块的通常使用步骤以下:

  1. 经过 Pattern 对象提供的一系列方法对文本进行匹配查找,得到匹配结果,一个 Match 对象

  2. 最后使用 Match 对象提供的属性和方法得到信息,根据须要进行其余的操做

compile 函数用于编译正则表达式,生成一个 Pattern 对象,它的通常使用形式以下:

# 使用 search() 查找匹配的子串,不存在匹配的子串时将返回 None

这样咱们的url规律找到了,要想爬取全部的段子,只须要修改一个参数便可。 下面咱们就开始一步一步将全部的段子爬取下来吧。

# 而且获取页面全部帖子连接,

a 标签里的内容其实是注释,可是若是咱们利用 .string 来输出它的内容时,注释符号已经去掉了。

经过 text 参数能够搜搜文档中的字符串内容,与 name 参数的可选值同样, text 参数接受 字符串 , 正则表达式 , 列表

这就是另外一种与 find_all 方法有殊途同归之妙的查找方法.

  • 写 CSS 时,标签名不加任何修饰,类名前加.,id名前加#

(3)经过 id 名查找

组合查找即和写 class 文件时,标签名与类名、id名进行的组合原理是同样的,例如查找 p 标签中,id 等于 link1的内容,两者须要用空格分开

@brief 处理获得的段子列表
  • 这里须要注意一个是re.S是正则表达式中匹配的一个参数。

  • 若是 没有re.S 则是 只匹配一行 有没有符合规则的字符串,若是没有则下一行从新匹配。

  • 若是 加上re.S 则是将 全部的字符串 将一个总体进行匹配,findall 将全部匹配到的结果封装到一个list中。
咱们第一页的所有段子,不包含其余信息所有的打印了出来。
  • 在浏览器上看不出来,可是若是按照文本打印会有<p>出现,那么咱们只须要把咱们不但愿的内容去掉便可了。

@brief 处理获得的段子列表

  • 咱们能够将全部的段子存放在文件中。好比,咱们能够将获得的每一个item不是打印出来,而是存放在一个叫 duanzi.txt 的文件中也能够。
@brief 将数据追加写进文件中
@brief 处理获得的段子列表
  • 接下来咱们就经过参数的传递对page进行叠加来遍历 内涵段子吧的所有段子内容。

  • 只须要在外层加一些逻辑处理便可。

  • 最后,咱们执行咱们的代码,完成后查看当前路径下的duanzi.txt文件,里面已经有了咱们要的内涵段子。

以上即是一个很是精简使用的小爬虫程序,使用起来非常方便,若是想要爬取其余网站的信息,只须要修改其中某些参数和一些细节就好了。

}

易采站长站,站长之家为您整理了Python如何安装urllib2库的相关内容。

相关教程推荐:Python视频教程以上就是关于对Python如何安装urllib2库的详细介绍。欢迎大家对Python如何安装urllib2库内容提出宝贵意见

}

我要回帖

更多关于 功能模块图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信