当前位置: 首页 > news >正文

网站建设公司织梦模板我做的网站怎么提升排名

网站建设公司织梦模板,我做的网站怎么提升排名,贵阳网站如何推广,西安市高新规划建设局网站三、正则表达式 1、实例 模式描述\w匹配字母、数字以及下划线\W匹配不是字母、数字以及下划线\s匹配任意空白字符#xff0c;等价于[\t\n\r\f]\S匹配任意非空字符\d匹配任意数字#xff0c;等价于[0-9]\D匹配任意非数字的字符\A匹配字符串开头\Z匹配字符串结尾。如果存在换…三、正则表达式 1、实例 模式描述\w匹配字母、数字以及下划线\W匹配不是字母、数字以及下划线\s匹配任意空白字符等价于[\t\n\r\f]\S匹配任意非空字符\d匹配任意数字等价于[0-9]\D匹配任意非数字的字符\A匹配字符串开头\Z匹配字符串结尾。如果存在换号只匹配到换行符前的结束字符串\z匹配字符串结尾。如果存在换行同时还会匹配换行符\G匹配最后匹配完成的位置\n匹配一个换行符\t匹配一个制表符^匹配一行字符串的开头$匹配一行字符串的结尾.匹配任意字符除了换行符当re.DOTALL标记被指定时可以匹配包括换行符的任意字符[…]用来表示一组字符单独列出例如[amk]用来匹配a、m或k[^…]匹配不在[]中的字符例如匹配除了a、b、c之外的字符*匹配0个或多个表达式匹配1个或多个表达式?匹配0个或1个前面的正则表达式定义的片段非贪婪方式{n}精确匹配n个前面的表达式{n,m}匹配n次到m次由前面正则表达式定义的片段贪婪方式a|b匹配a或b()匹配括号内的表达式也表示一个组 2、match ​ 常用的匹配方法–match向它传入要匹配的字符串以及正则表达式就可以检测这个正则表达式是否和字符串相匹配。match方法会从字符串的起始位置开始匹配正则表达式如果匹配返回匹配成功的结果否则None import recontent Hello 123 4567 world_This is a Regex Demo print(len(content)) # 41 result re.match(^Hello\s\d\d\d\s\d{4}\s\w{10},content) print(result) # re.Match object... print(result.group()) # Hello 123 4567 world_This print(result.span()) # (0, 25)group方法可以输出匹配到的内容span方法可以输出匹配的范围 2.1、匹配目标 ​ 使用括号将想要提取的字符串括起来。实际上标记了一个子表达式的开始和结束位置被标记的每个子表达式依此对应每个分组调用group方法传入分组的索引即可获得提取结果。 content Hello 1234567 World_This is a Regex Demo result re.match(^Hello\s(\d)\sWorld,content) print(result) # re.Match object;... print(result.group()) # Hello 1234567 World print(result.group(1)) # 1234567 print(result.span()) # (0, 19)# 成功得到被括号括起来的1234567group()会输出完整的匹配结果而group(1)会输出第一个括号的匹配结果同理若还有括号可group(2)、group(3)...2.2、通用匹配 ​ 上述空白字符需要写\s匹配、数字\d匹配量大。因此万能匹配.* 其中.可以匹配任意字符(除换行符)*代表匹配前面字符无数次。改写上述代码 content Hello 123 4567 world_This is a Regex Demo result re.match(^Hello.*Demo$,content) print(result) # re.Match object... print(result.group()) # Hello 123 4567 world_This is a Regex Demo print(result.span()) # (0, 41)2.3、贪婪与非贪婪 贪婪匹配下、*.会匹配尽可能多的字符。 非贪婪匹配、.*?会匹配尽可能少的字符、但如果匹配的结果在字符串结尾则可能匹配不到任何内容。 import re content Hello 1234567 World_This is a Regex Demo result1 re.match(^He.*(\d).*Demo$,content) result2 re.match(^He.*?(\d).*Demo$,content) print(result1.group(1)) # 7 print(result2.group(1)) # 1234567# 贪婪匹配下、.*把123456都匹配了只剩下7给\d匹配。 # 非贪婪匹配下、.*?把1234567交给\d匹配。2.4、修饰符 ​ 当遇到换行符时.*?就不能匹配了。此时加上修饰符re.S即可修正。 import re content Hello 1234567 World_This is a Regex Demo result re.match(^He.*?(\d).*?Demo$,content,re.S) print(result.group(1)) # 1234567修饰符描述re.I使匹配对大小写不敏感re.L实现本地化识别locale-aware匹配re.M多行匹配影响^和$re.S使匹配内容包括换行符在内的所有字符re.U根据Unicode字符集解析字符这个标志会影响\w、\W、\b和\B\re.X该标志能够给予你更灵活的格式以便将正则表达式书写的便于理解 2.5、转义匹配 ​ 当目标字符串中遇到用作正则匹配模式的特殊字符时在 此字符前面加反斜杠\转义一下即可。 content (百度)www.baidu.com result re.match(\(百度\)www\.baidu\.com,content) print(result) # re.Match object; span(0, 17), match(百度)www.baidu.com2.6、search ​ **search方法在匹配时会扫描整个字符串然后返回第一个匹配成功的结果。**也就是说正则表达式可以是字符串的一部分。在匹配时search方法会依次以每个字符作为开头扫描字符串直到找到第一个符合规则的字符串然后返回匹配的内容。 content Extra stings Hello 1234567 World_This s Regex Demo Extra stings result re.search(Hello.*?(\d).*?Demo,content) print(result) # 12345672.7、findall ​ findall方法能获取与正则表达式相匹配的所有字符串。其返回的结果是列表类型需要通过遍历来依次获取每组内容。 # 上述代码改写 results re.findall(li.*?href(.*?).*?singer(.*?)(.*?)/a,html,re.S) for result in results:# print(result)print(result[0],result[1],result[2])#/2.mp3 任贤齐 沧海一声笑 #/3.mp3 齐泰 往事随风 #/4.mp3 beyond 光辉岁月 #/5.mp3 陈慧琳 记事本 #/6.mp3 邓丽君 但愿人长久2.8、sub ​ 除了使用正则表达式提取信息还可借助来修改文本。 content 54aK54yr5oiR54ix5L2g content re.sub(\d,,content) print(content)# aKyroiRixLg # sub()方法中的第一个参数传入\d匹配所有数字第二个参数中传入把数字替换成的字符串第三个参数是原字符串。html re.sub(a.*?|/a,,html) print(html) results re.findall(li.*?(.*?)/li,html,re.S) for result in results:print(result.strip()) # 一路上有你 #沧海一声笑 #往事随风 #光辉岁月 #记事本 #但愿人长久 # sub方法处理后a节点就没有了然后findall方法直接提取即可。2.9、compile compile可以将正则表达式编译成正则表达式对象以便在后面的匹配中复用。可以说compile方法是给正则表达式做了一层封装。 content1 2019-12-15 12:00 content2 2019-12-17 12:55 content3 2019-12-22 12:55 pattern re.compile(\d{2}:\d{2}) # 去掉时间正则表达式 result1 re.sub(pattern,,content1) # 复用 result2 re.sub(pattern,,content2) result3 re.sub(pattern,,content3) print(result1,result2,result3)# 2019-12-15 2019-12-17 2019-12-22 四、httpx的使用* ​ 有些网站强制使用HTTP/2.0协议访问这时urllib和reequests是无法爬取数据的因为它们只支持HTTP/1.1。 ​ hyper和httpx是支持HTTP/2.0的请求库requests已有的功能它几乎都支持。 1、示例* url https://spa16.scrape.center/ response requests.get(url) print(response.text) # 报错无法访问2、安装 pip3 install httpx[http2]3、基本使用 GET请求 import httpxclient httpx.Client(http2True) response client.get(https://spa16.scrape.center) print(response.text)大多与requests相似 4.Client对象 ​ Client对象的使用 with httpx.Client() as client:response client.get(https://www.httpbin.org/get)print(response) ​ 声明client对象时可以指定一些参数 url https://www.httpbin.org/headers headers {User-Agent:my-app/0.0.1} with httpx.Client(headersheaders) as client:r client.get(url)print(r.json()[headers][User-Agent])5、支持HTTP/2.0 client httpx.Client(http2True) response client.get(https://spa16.scrape.center) print(response.text)6、支持异步请求 httpx还支持异步客户端请求即AsyncClient支持Python的async的请求模式 import httpx import asyncioasync def fetch(url):async with httpx.AsyncClient(http2True) as client:response await client.get(url)print(response.text) if __name__ __main__:asyncio.get_event_loop().run_until_complete(fetch(https://www.httpbin.org/get))
http://www.pierceye.com/news/838924/

相关文章:

  • asp网站制作工具怎么样做国际网站生意
  • 签订网站建设合同山东建设工程招标网官方网站
  • 迅速建设企业网站外贸网站服务器选择
  • 建设网站详细流程wordpress建站数据库
  • 贵阳建立网站聊城网站建设设计
  • 网站怎么设置关键词百度网址大全首页设为首页
  • 中企动力网站怎么样怎么做公司内网网站
  • 求职网站网页模板一个网站可以做多少个小程序
  • 深圳市住房和建设局网站登录怎样在百度建网站
  • 外国做视频在线观看网站asp简单网站开发
  • 介绍移动互联网的网站有哪些做网站时怎么选择数据库类型
  • 工厂的网站在哪里做的免费建站的软件
  • 中国电子系统建设三公司网站网站建设上如何提高市场竞争力
  • 青海住房和建设厅网站电子商务网站建设与管理教案
  • 免费在线自助建站搬瓦工可以长期做网站
  • 建设外贸网站报价外贸网站制作推广公司
  • 网站开发人员工作内容白沟做网站
  • 产品展示网站模板源码产品宣传
  • 国内wordpress有名的网站河南住房和城乡建设厅网站资质
  • 湛江seo建站wordpress5.1更新
  • 泊头公司做网站做网站价格差异很大
  • 网站开发啊wordpress 图片本地化
  • 尚品中国多年专注于高端网站建设免费加盟无需店面
  • 游标卡尺 东莞网站建设wordpress 域名解析
  • 站长工具视频怎么开免费网站
  • 网站地址怎么申请注册最近新闻大事
  • interidea 做网站网站域名备案 更改
  • 哈尔滨公司做网站动画设计的大学排名
  • 网站建设与网页制作试卷网站搜索引擎优化推广
  • 网站子目录设计网站开发数据库技术