手把手,脚把脚地教你实现网络爬虫程序下

你们真的认为你们不回复我就不发文了吗?我这么美丽大方善良可爱,当然是一定会给大家的啊~

所以如果前两篇你没有看,那就赶紧去看吧!

手把手,脚把脚地教你实现网络爬虫程序(上)

手把手,脚把脚地教你实现网络爬虫程序(下)

懒得废话,我们直接切入主题

一、正则表达式

实际上爬虫一共就四个主要步骤:1.明确目标(要知道你准备在哪个范围或者网站去搜索)2.爬(将所有的网站的内容全部爬下来)3.取(去掉对我们没用处的数据)4.处理数据我们在第四节中介绍的简单的"贴吧小爬虫"实际上省略了第3步,也就是"取"的步骤。因为我们down下了的数据是全部的网页,这些数据很庞大并且很混乱,大部分的东西使我们不关心的,因此我们需要将之过滤出来。那么对于文本的过滤或者规则的匹配,这里就有个学问,就是"正则表达式"。说到正则表达式很多人都为之蛋疼,确实,这个东西要是学习精通并且应用熟练实属一件蛋疼的事。但是作为一个工程师,要有一种思维,就是用到学到,用到3分,我学4分、如果用到7分,我学8分。因为这个世界太大了,人类的庞大的智慧积累,一个人用尽毕生的精力都学不完。对于一个陌生技术来讲也是这个道理。

所以说,如果你只是想写一个简单的爬虫,那么只需要初步了解正则表达式就ok了。好了,下面我们来看一下枯燥的正则表达式概念~~1.1正则表达式的基础正则表达式是用于处理字符串的强大工具,他并不属于某种编程语言。正则表达式拥有独立的处理引擎,不管什么编程语言,正则表达式的语法都是一样的。

正则表达式的大致匹配过程是:

1.依次拿出表达式和文本中的字符比较,

2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。

3.如果表达式中有量词或边界,这个过程会稍微有一些不同。

下面是从网上down下来的一个正则表达式的语法图:

1.2.数量词的贪婪模式与非贪婪模式

正则表达式通常用于在文本中查找匹配的字符串。

贪婪模式,总是尝试匹配尽可能多的字符;

非贪婪模式,则相反,总是尝试匹配尽可能少的字符。

(Python里数量词默认是贪婪的)

例如:

正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。

而如果使用非贪婪的数量词"ab*?",将找到"a"。

二、python中如何使用正则表达式

python中是通过一个叫"r"的包来支持正则表达式。

当然具体的"r"中的方法可以在python的命令行中?????

进行查看。

这里面,我们只是做一个简单的正则匹配。

首先可以创建一个r_tst.py文件。然后输入代码如下:我们来详细的分析一下上面的代码,首先

#-*-coding:utf-8-*-

表示当前的python文件的编码格式是“utf-8”。

importr

r模块提供一个方法叫







































北京治疗白癜风费一般是多少钱
中科白癜风医院微博



转载请注明:http://www.xxcyfilter.com/zytd/7938.html

  • 上一篇3文章:
  •   
  • 下一篇3文章: 没有了