01 python正则表达式
02 Python Web编程
03 Python多线程编程
04 Python网络编程
05 Python数据库编程
-------------------------------------
01 python正则表达式
对字符串的匹配和检索,通过re模块提供对正则表达式的支持。
. 匹配任意换行符以外的字符
1 #python 3.6 2 import re 3 word = 'https://www.ichunqiu.com python_1.1' 4 key = re.findall('h.',word) 5 print (key)
结果是['ht', 'hu', 'ho']
\ 转义字符
#python 3.6 import re word = 'https://www.ichunqiu.com python_1.1' key = re.findall('\.',word) print (key)
['.', '.', '.']
[...]字符集。对应的位置可以是字符集中任意字符,可以逐个列出也可以给出范围,如[abc]或[a-c]。第一个字符是^则代表取反,[^abc]代表不是abc的其他字符
预定义字符集
\d 数字[0-9] a\dc a1c
\D 非数字[^\d] a\Dc abc
\s 空白字符 a\sc a c
\S 非空白字符 abc
\w 单词字符[a-z A-Z 0-9] abc
\W 非单词字符 a c
* 匹配前一个字符0次或无限次
+ 匹配前一个字符1次或无限次
? 匹配前一个字符0次或1次
{m} 匹配前一个字符m次
{m,n} 匹配前一个字符m-n次
| 左右表达式任意匹配一个
(..) 一个分组
贪婪模式与非贪婪模式
Python里的数量词默认是贪婪的,总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。
例如正则表达式ab*如果用于查找abbbc将找到abbbb,如果是非贪婪的ab*?,将找到a。
查找课程
http = ...
title = re.findall(r'title="(.*?)" onclick',http) for i in title: print (i)
02 python web编程
关键词:urllib/urllib/requests、爬虫开发
1 import urllib,urllib2 2 url = 'http://www.baidu.com' 3 r = urllib.urlopen(url) //发送请求 4 print r.read() //接受回显
urllib.urlretreve(url,fliename = None,reporthook=None,data=None) //下载文件
urllib2.Requests() //控制请求头
urllib.urlretrieve('地址“',filename='E:\\google.png') //下载图片
requests
发送网络请求