python爬虫学习

正则表达式

2017-10-28  本文已影响2人  薛落花随泪绽放

什么时正则表达式

世界上信息非常多,而我们关注的信息有限。假如我们希望之提取出关注的数据,此时可以通过一些表达式进行提取,正则表达式就是其中一种进行数据筛选的表达式。

原子

原子是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子。常见的原子类型有:

a普通字符作为原子
b非打印字符作为原子
c通用字符作为原子
d原子表
image.png

元字符

所谓的元字符,就是正则表达式中具有一些特殊含义的字符,比如重复N次前面的字符等。

image.png

模式修正符

所谓的模式修正符,即可以在不改变正则表达式的情况下,通过模式修正符改变正则表达式的含义,从而实现一些匹配结果的调整等功能。

image.png

贪婪模式与懒惰模式

贪婪模式的核心点就是尽可能多的匹配,而懒惰模式的核心点就是尽可能少的匹配。

image.png

正则表达式函数

正则表达式函数有:re.match()函数、re.search()函数、全局匹配函数、re.sub()函数

image.png

常见正则实例

image.png

简单的爬虫

image.png

从网页中提取出qq群

image.png

作业:提取豆瓣出版社信息并写入文件中

#提取出版社信息并写入文件中
import urllib.request
import re
data=urllib.request.urlopen("https://read.douban.com/provider/all").read().decode("utf-8")
pat='<div class="name">(.*?)</div>'
rst=re.compile(pat).findall(data)
fh=open("E:/python/python爬虫/press.txt","w")
for i in range(0,len(rst)):
    print(rst[i])
    fh.write(rst[i]+"\n")
fh.close()
上一篇下一篇

猜你喜欢

热点阅读