美文网首页
post请求、正则

post请求、正则

作者: zy小太阳 | 来源:发表于2018-12-23 15:50 被阅读0次

发起post请求

eg:    
# 测试接口:'https://httpbin.org/post'
from urllib import parse,request

url = 'https://httpbin.org/post'

# 表单数据
fordata = {
    'name':'哎呦喂',
    'age':18,
    'gender':'男',
}
# 先使用urlencode将参数转为url编码格式的字符串,
# 再用encode将字符串转换为bytes类型的参数
formdata = parse.urlencode(fordata).encode('utf-8')
# 不需要请求头
response = request.urlopen(url,data=formdata)
print(response.status)
print(response.read().decode('utf-8'))

# 需要请求头
red_header = {
    'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'

}
req = request.Request(url,headers=red_header,data=fordata)
response = request.urlopen(req)
print(response.status)
print(response.read().decode('utf-8'))

正则

多字符匹配
. :表示匹配除了换行符以外的任意字符
\ :转义字符
【a-z】:匹配a到z中任意字符
\d :匹配数字 【0-9】
\D :匹配非数字 [^\d]
\s ;匹配空白字符(空格,\n,\t...)
\S: 匹配非空白字符
\w :匹配单词字符【A-Z a-z 0-9】
\W :匹配非单词字符[^\w]
^ :以什么开头
$ :以什么结尾
():表分组
| :或
贪婪匹配
" * " :匹配前一个字符任意次
'+':匹配前一个字符至少一次
? :匹配前一个字符0次或一次
{m}:匹配前一个字符m次
{m,n}:m-n次
非贪婪匹配
*? :
+? :
?? :
{m,n}? :

eg:

import re
# 把正则表达式构建为一个parttern对象
sub_str = 'abcdefgabcd'
pattern = re.compile('a')

# 从字符串起始位置开始匹配,开头就必须符合正则规则
# 如果匹配到结果返回结果,没匹配到就返回None

result = re.match(pattern,sub_str)
print(type(result))
if result:
    print(result.group())

#在整个字符串中进行匹配   ,同样是单次匹配 ,
# 匹配到结果立即返回,匹配不到返回None
result = re.search(pattern,sub_str)
print(result.group())

# 在整个正则匹配,匹配出所以符合正则的结果,以列表形式返回,
# 匹配不到返回空列表
result = re.findall(pattern,sub_str)
print(result)

# 在整个正则匹配,匹配出所以符合正则的结果,
# 返回一个迭代器
result = re.finditer(pattern,sub_str)
print(type(result))

for note in result:
    print(type(note))
    print(note.group())

# 替换
url = 'http://www.baidu.com/s?kw=aaa&pn=20'
# pattern, \正则规则
# repl,\要替换的字符串
# string,原始字符串
pattern = re.compile('pn=\d+')
result = re.sub(pattern,'pn=30',url)
print(result)

# 分割 re.split()
pattern = re.compile('[=:&]')
result = re.split(pattern,url)
print(result)

# sub_html =

# re.S可以让点可以匹配包括
re.compile(
    '<div.*?class="threadlist_title pull_left j_th_tit ">'+
    '.*?<a.*?herf="(.*?)".*?</div>',re.S
)

相关文章

  • post请求、正则

    发起post请求 正则 多字符匹配. :表示匹配除了换行符以外的任意字符\ :转义字符【a-z】:匹配a到z中任意...

  • post请求、json、正则

    post请求 Request请求对象的里有data参数,它就是用在POST里的,我们要传送的数据就是这个参数dat...

  • @RequestMapping注解常用值的含义

    value,请求URL的路径,支持URL模板、正则表达式 method,HTTP请求方法,有GET、POST、PU...

  • iOS请求方法和网络安全

    GET和POST请求 GET和POST请求简介 GET请求模拟登陆 POST请求模拟登陆 GET和POST的对比 ...

  • java发送http请求

    restTemplate get请求 post请求 apache.http.client get请求 post请求...

  • gf框架 ghttp使用

    案例中包含以下内容 get请求 get请求携带参数 post请求携带参数 post请求发送xml数据 post请求...

  • iOS请求方法和网络安全

    GET和POST请求GET和POST请求简介GET请求模拟登陆POST请求模拟登陆GET和POST的对比保存用户信...

  • WKWebView发送POST请求

    WKWebView发送POST请求 WKWebView发送POST请求

  • 小总结-坑坑

    post 的请求参数的转换 json解析的使用 urllib下的文件存储 正则的正确使用 获取岗位数量 文件操作 ...

  • Get和Post的区别

    Get请求和Post请求区别如下: Post请求比Get请求更安全,get请求直接将参数放置在URL中,post请...

网友评论

      本文标题:post请求、正则

      本文链接:https://www.haomeiwen.com/subject/cdjnkqtx.html