python爬虫的一些总结

首先,爬虫是:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。减少人力劳动(当然不要对网站造成损坏)

Python 爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据)。

网页请求的过程分为两个环节:

  1. Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。
  2. Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求,如图 8 所示。

python爬虫的一些总结_特殊字符

Response相应

网页请求的方式也分为两种:

  1. GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。
  2. POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。

这就是两个爬取的实例

爬取到网页后通常是这种形式

关于爬取到网页的数据

为了提取出我们所需要的信息经常利用一些方法来解析数据,从中提取出我们所需要的。

常见的正则表达式

正则表达式语法由字符和操作符构成

1、作用(正则表达式是一种字符串匹配的模式)

数据验证:比如电话号码、邮箱等

替换文本:快速找到特定文本,用于替换

快速提取字符串:基于匹配原则,快速从文档中查找或提取子字符串

2、语法(普通字符+特殊字符)

普通字符

[abc] 匹配[...]的所有字符

[^abc] 取反,除了[...]的其他字符

[A-Z] 区间字母A到Z

. 匹配除(\n换行符 \r 回车符)的任何单个字符

\s \S 匹配所有,\s所有空白符,包括换行 \S非空白符,不包括换行

\w 匹配字母、数字、下划线

特殊字符

结尾位置(匹配字符----$)

^ 开始位置(匹配$字符----^)

() 子表达式开始和结束(匹配字符----( 和 \))

  • 匹配零次或多次(匹配字符----*)
  • 匹配一次或多次(匹配字符----+)

? 匹配零次或一次(匹配字符----\?)

| 两项间的一个(匹配字符----|)

限定符

{n} n为非负整数,匹配n次

{n,} n为非负整数,至少n次

{n,m} n为非负整数,n<=m,最少n次,最多m次

修饰符

i 不区分大小写

g 全局匹配

m 多行匹配

s 特殊字符远点包含换行符

4、使用方法

字符串.match(正则):返回符合的字符串,若不满足返回null

字符串.search(正则):返回搜索到的位置,若非一个字符,则返回第一个字母的下标,若不匹配则返回-1

字符串.replace(正则,新的字符串):找到符合正则的内容并替换

正则.test(字符串):在字符串中查找符合正则的内容,满足则返回true,反之为false