urllib与正则

urllib发起请求接收响应

GET请求

#爬取网站的url
url = 'http://www.baidu.com'

#设置请求头
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36"}

#发起请求接收响应
req = request.Request(url=url,headers=headers)
response = request.urlopen(req,timeout=10)

POST请求

#爬取网站的url
url = 'http://127.0.0.1:8000/api/login/'

#需要的参数
data = {
    'username':'pch',
    'password':'hang1228'
}
进行编码
data = parse.urlencode(data).encode('utf-8')
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3724.8 Safari/537.36"}

#发起请求接收响应
req = request.Request(url=url,headers=headers,data=data)
response = request.urlopen(req,timeout=10)

parse

# parse.urlencode():将字典类型的参数转为url编码格式
data = {
    'username':'xxxxxxxxx',
    'password':'abc123456'
}
data = parse.urlencode(data)
print(data)


# parse.parse_qs():将url编码格式的字符串转化为字典类型
data = parse.parse_qs(data)
print(data)



# parse.quote()将中文字符转为url编码的字符
wd = '美女'
wd = parse.quote(wd)
print(wd)
# wd=%E7%BE%8E%E5%A5%B3


# parse.unquote()将url编码的字符转换为中文字符
wd = parse.unquote(wd)
print(wd)
# wd =美女

正则

  • . 匹配除了换行符之外的任意字符
    \d 匹配数字0-9 =>[0-9] => ^\D
    \D 匹配非数字
    \s 匹配空白字符(空格 \n \r \t)
    \S 匹配非空白字符
    \w 匹配单词字符[a-zA-Z0-9_]
    \W 匹配非单词字符
    ^ 以…开头
    $ 以…结尾
    [0-9a-z] :表示匹配数字0~9,字母a~z
    [^a-z] : 不匹配a-z之间的字符

  • 多字符匹配,贪婪模式

  • 匹配*号前的字符任意次数
  • +匹配+号前的字符至少一次
    ?匹配?号前的字符0~1次

#多字符匹配,非贪婪模式 (abcdeabcde) e
*?
+?
??
| 或
() 分组

re模块的一些方法

re.match():匹配字符串的开头,有符合正则规则则子串,返回结果match对象,
没有匹配到结果,返回None,单次匹配
re.search():从字符串开头,在整个字符串中进行匹配,有符合正则规则则子串
,返回结果match对象,没有匹配到结果,返回None,单次匹配
re.findall():在整个字符串中匹配所有符合正则规则的结果,返回一个list
re.finditer():在整个字符串中匹配所有符合正则规则的结果,返回一个可叠代对象
re.sub():在整个字符串中,替换所有符合正则表达式的子串
re.split() :根据正则表达式,分割字符串,返回一个list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值