python爬虫不过如此(python的正则 、Requests、BeautifulSoup 详细篇)

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

爬虫的本质就是一段自动抓取互联网信息的程序,从网络获取感兴趣的信息,抓取对于我们有价值的信息,爬虫技术是大数据和云计算的基础。

爬虫的实现可认为是模拟浏览器与服务器数据交互,伪造HTTP请求。

使用总览


网页爬取库:

1、urllib模块的urllib.request       

#基本被取代

2、requests 第三方库               

#中小型爬虫开发

#官网:http://www.python-requests.org/en/master/

3、Scrapy 框架                         

#大型爬虫开发

内容解析库:

1、BeautifulSoup库

#提取HTML和XML里的数据   

#官网https://www.crummy.com/software/BeautifulSoup/bs4/doc/

2、re模块

#正则表达式,处理字符串

查看网站爬虫协议

url/robots.txt

requests库基本使用


安装: 

sudo pip3 install requests

使用介绍:

re库(正则表达式)基本使用

安装:

python3环境自带

基本介绍:

1、正则表达式是独立的语言,正则语言是共通的,比如之前写的PHP正则里有很多共同性

2、匹配单元介绍

转义字符:如点代表所有字符,所以可用\.表示字符串的点

.】、【\】、【?】、【^】、【$】、【*】、【+】、【}】、【{】、【[】、【]】、【|】、【(】、【)】

特殊符号字符:

【\d】所有数字,相当于[0-9]

【\D】所有非数字,相当于[^0-9]

【\w】任意一个字(a-z、A-Z、0-9、下划线、中文字)

【\W】任意非字,相当于[^a-zA-Z0-9_中文字]

【.】(点)任意一个原子

【\s】所有空白(空格、tab键、换行),相当于[\r\t\n\f\v]

【\S】任意非空白

匹配任意一个: 

    [字符1字符2字符3]//也可为[a-zA-Z]区间//匹配任意一个

     注意:

^】为取反,写在中括号内开头处,表示除了括号里的所有字符都可以

【^】表示普通字符,写在括号里除最前面的任意位置 

  括号里的字符需要转义,虽然有些不用转义 

3、 匹配单元的修饰补充

【*】修饰前面的单个原子可以出现任意次

【+】修饰前面的单个原子至少要出现1次

【?】修饰前面的单个原子只能出现0次或者1次

【{ n }】修饰前面的单个原子只能出现n次

【{a,b}】修饰前面的单个原子只能出现  [ a , b ]  次 //至少两次用{2,  }

【|】修饰两边字符串任意谁整体出现,/intelligent|diligent/

【^字符1】必须以字符1开始的行,r’^xceee’必须以xceee为开始,写在表达式最前面

【$字符2】必须以字符2结尾的行,/\Aaa.*wo$/必须以aa开始和wo为结束,.*表示任意

【\A和\Z】开始和结束,用法跟上相同 ,但不是以行为结束

【\b】单词边界(空格),r’\bare\b’,匹配字符串“ware are xxx”匹配到are单词,

【\B】单词边界以外的部分

【( )】改变优先级,r’t(r|x)ol’,可匹配trol或者txol

以小变大:r’tel*’表示l可出现任意次=>r’t(el)*’表示el可出现任意次

用于取出:r’t(el)(.*)’如"xxwtelelllll"输出:[('el', 'elllll')]

使用介绍:

BeautifulSoup库基本使用

安装:

  sudo pip3 install beautifulsoup4

使用介绍:

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/89364739