编程语言
首页 > 编程语言> > python27基础-re模块-网络爬虫-openpyxl模块

python27基础-re模块-网络爬虫-openpyxl模块

作者:互联网

今日学习

re 模块

第三方模块简介

网络爬虫实战

openpyxl模块

random模块

hashib模块

re模块

模块中,如果想用正则表达式,re模块是选择之一

名称 作用
re.findall() 通过正则表达式筛选出文本中所有符合条件的数据
re.finditer() 和re.findall()作用一样,只不过结果会被处理成迭代器对象,用于节省内存,可以通过for循环或者双下next取值
re.search() 通过正则表达式匹配一个符合条件的内容就结束
re.match() 通过正则表达式从头开始匹配,如果头部已经不符合,那么后面不走
re.compile() 能够提前准备好正则,之后可以反复使用,减少代码冗余
#-----------------------------练习-----------------------------------------------

import re
res = re.findall('a','jason oscar aaa')
print(res)              过滤出来的内容返回成list形式展示
----------执行结果------------
['a', 'a', 'a', 'a', 'a']


------------------【re.finditer】练习-------------------------------------

import re
res = re.finditer('a','jason oscar aaa')
print(res)								#查找出所有a,处理成迭代器对象。	
for i in res:							#通过for循环或者双下next取值
    print(i)					
----------执行结果------------
< callable_iterator object at 0x0000016217978760 >
<re.Match object; span=(1, 2), match='a'>
<re.Match object; span=(9, 10), match='a'>
<re.Match object; span=(12, 13), match='a'>
<re.Match object; span=(13, 14), match='a'>
<re.Match object; span=(14, 15), match='a'>


-----------------re.search练习-----------------------------------

import re
res = re.search('a','jason oscar aaa')
print(res)								#匹配出一个便结束查找
----------[执行结果]------------
<re.Match object; span=(1, 2), match='a'>


-----------------re.match练习---------------------------------------

import re
res = re.match('a','jason oscar aaa')
print(res) 							#从头第一个匹配,没有就返回None 和正则^相似
----------[执行结果]------------
None                       

-------------------re.compile('a')--------------------------------------
import re
obj = re.compile('a')
print(re.findall(obj,'asjd2aaa1hj13123j'))  
----------[执行结果]--------------------
['a', 'a', 'a', 'a']         #compile 能够提前准备好正则,之后可以反复使用减少代码冗余

re模块补充

--------------------1.不分组情况---------------------------------------------------

import re
res = re.findall('abc', 'abcabcabcabc')		#正常过滤出abc字符
print(res)
-------执行结果------------------------
['abc', 'abc', 'abc', 'abc']


-------------------2.分组并优先展示情况-------------------------------------------------

res1 = re.findall('a(b)c','abcabcabcabc')
print(res1)									#分组,用小括号将过滤数据分出来优先展示
-------执行结果------------------------
['b', 'b', 'b', 'b']

--------------------3.不分组情况---------------------------------------------------

import re
res = re.findall('a(?:b)c','abcabcabcabc')
print(res)								   #不分组,用小括号,括号内?:将过滤数据分出来优先展示
---------执行结果--------------------
['abc', 'abc', 'abc', 'abc']

---------------------4.起别名------------------------------------------------------

res = res.search('a(?P<id>b)(?P<name>c)','abcabcabcabc')
print(res.group())			#打印abc
print(res.group(2))    		#索引形式
# print(res.group('id'))	#将b的别名id
# print(res.group('name'))	#c的别名为 name   定义别名 ?P<别名>

网络爬虫简介

1.什么是互联网?
	将全世界的计算机链接到一起组成的网络
2.互联网目的?
	将接入互联网的计算机上的数据彼此共享
3.上网的本质是什么?
	基于互联网访问别人计算机上面的资源(有些计算机存在的意义就是让别人访问,这种类型的计算机我称为服务器)
4.网络爬虫的本质?
	模拟计算机浏览目标发送请求回数据,并筛选,只要是浏览器访问到的就饿可以访问到的数据网络,爬虫理论上都可以
5.获取红牛分公司数据?
	http://www.redbull.com.cn/about/branch

第三方模块的下载

1.第三方模块必须先下载才可以导入使用
2.python下载第三方模块需要借助于pip工具
-------------------------------------------------------------------
3.下载命令
pip3.8 install 模块
-----------------------------------------------------------------
1.下载速度很慢
pip工具默认是从国外的仓库地址下载模块,速度很慢

------------国内下载地址--------------------------------------------
清华大学 :https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学 :http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学:http://pypi.hustunique.com/
豆瓣源:http://pypi.douban.com/simple/
腾讯源:http://mirrors.cloud.tencent.com/pypi/simple
华为镜像源:https://repo.huaweicloud.com/repository/pypi/simple/
----------------【下载方式】-------------------------------------------
#多版本共存时。我一共安装了2.7和3.8所以做了环境区分
pip3.8 install 模块名 -i 源地址

#如果只有一个python解释器环境,执行以下即可/
pip   install 模块名 -i  源地址

pycharm 提供第三方模块下载快捷方式
- pip 是一个现代的,通用的 [Python](https://baike.baidu.com/item/Python) 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
- 如果系统中只安装了Python2,那么就只能使用pip。
- 如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。
- 如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。
1.pip工具版本过低 直接拷贝提示信息里面的更新命令即可
pip install --upgrade pip

2.网络波动 关键字是Read timed out
只需要重新下载几次即可 或者切换一个网络稳定一点的

## 3.有些模块在下载使用之前需要提前配置指定的环境
结合具体情况 百度搜索

image

image

爬取公司信息

image

image

pip  install  requests 

openpyxl模块

作用:主要用于操作excel表格

也是pandas底层操作表格的模块
在python中能够操作excel表格的模块有很多
openpyxl属于近几年比较流行的模块
openpyxl针对03版本之前的excel文件兼容性不好
xlwt、xlrd也可以操作excel表格
兼容所有版本的excel文件 但是使用方式没有openpyxl简单

标签:openpyxl,wb1,res,re,pip,模块,print
来源: https://www.cnblogs.com/zongliang-ya/p/16499543.html