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

网站开发找哪家企业网站推广公司 知乎

网站开发找哪家,企业网站推广公司 知乎,怎么样开发微信小程序,如何做logo标志数据提取 前面的爬虫笔记学习的都是如何爬取整个页面的内容,服务器渲染中,数据是直接放在源代码html里面的,大多数情况下整个页面的内容真正需要的只是一小部分,那把这一小部分提取出来的过程就叫做数据提取 数据解析方式 re解…

数据提取

前面的爬虫笔记学习的都是如何爬取整个页面的内容,服务器渲染中,数据是直接放在源代码html里面的,大多数情况下整个页面的内容真正需要的只是一小部分,那把这一小部分提取出来的过程就叫做数据提取

数据解析方式

re解析(运行速度最快)

RE:regular expression正则表达式,写一段话对字符串进行匹配的语法规则

因为爬取到的页面本质上就是一个超长的字符串,所以正则表达式很适合用于爬取字符串的数据提取

元字符

元字符含义(下面都是匹配一个字符串)
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线
\s匹配任意空白字符(空格、换行、回车)
\d匹配数字
\t匹配一个制表符
^匹配字符串开始
$匹配字符串结尾
\W匹配非字母或数字或下划线
\D匹配非数字
\S匹配非空白符
a|b匹配字符a或字符b
()匹配括号内的表达式,也表示一个组
[. . .]匹配字符组中的字符
[^. . .]匹配除了字符组中字符的所有字符

量词

量词含义
*重复0次或更多次
 "+"重复1次或更多次
重复0次或1次
{n}重复1次
{n,}重复n次或更多次
{n,m}重复n到m次

贪婪匹配和惰性匹配

.*贪婪匹配(尽可能多次)
.*?惰性匹配(爬虫使用最多,尽可能少的匹配,回溯)

python中的re模块

代码练习:
import re
#1-findall匹配所有符合正则的内容
lst = re.findall(r"\d+","我的电话号码是:15683298476,你的电话号码是:23142349765")#r(正则)声明字符串为原始字符串
print(lst)
#2-finditer:返回的是迭代器,迭代器的效率比列表高
it = re.finditer(r"\d+","我的电话号码是:15683298476,你的电话号码是:23142349765")#r声明字符串为原始字符串
print(it)#返回的是迭代器,从迭代器中拿到内容需要遍历迭代器,拿里面内容要用方法.group()
for i in it:print(i.group())
#3-search返回的是match对象,想拿数据同样需要.group()
s = re.search(r"\d+","我的电话号码是:15683298476,你的电话号码是:23142349765")
print(s)
print(s.group())#但是只返回第一个,因为search就是全文检索,只要找到一个就返回
#4-match只能从头开始匹配
m = re.match(r"\d+","15683298476(必须开头就是数字,否则就报错),你的电话号码是:23142349765")
print(m)
print(m.group())
#预加载正则表达式(复杂的正则表达式需要反复的调用,就提前定义变量预编译一个正则表达式)
obj = re.compile(r"\d+")
o = obj.finditer("我的电话号码是15683298476,你的是23142349765")
print(o)
for it in o:print(it.group())
#例子
s1 = """
<div class='yuSi'><span id='1'>虞书欣</span></div>
<div class='luLi'><span id='2'>赵露思</span></div>
<div class='diLi'><span id='3'>迪丽热巴</span></div>
<div class='ziMi'><span id='4'>杨紫</span></div>
"""
obj2 = re.compile(r"<div class='.*?'><span id='\d+'>.*?</span></div>",re.S)#re.S使得.能够匹配换行符
result = obj2.finditer(s1)
for it in result:print(it.group())
#但是实际上想要的内容比现在打印的少,不想要html格式内容,方法:将.*?用()框起来,并用?P<名字>命名
obj3 = re.compile(r"<div class='(?P<class>.*?)'><span id='(?P<id>\d+)'>(?P<name>.*?)</span></div>",re.S)#re.S使得.能够匹配换行符
result = obj3.finditer(s1)
for it in result:print(it.group("class", "id", "name"))
结果打印:


文章转载自:

http://uXJHHCCV.smqjL.cn
http://pzfsW9Eh.smqjL.cn
http://WcaWATjG.smqjL.cn
http://gEXyLGiu.smqjL.cn
http://u07QYJwV.smqjL.cn
http://2d3oE1YP.smqjL.cn
http://r1HfANsW.smqjL.cn
http://aj28t8p2.smqjL.cn
http://uoUgEqRp.smqjL.cn
http://S7726p9t.smqjL.cn
http://IHBELzBu.smqjL.cn
http://L7aJaAeF.smqjL.cn
http://Pc3LkaMc.smqjL.cn
http://qNH3jHcI.smqjL.cn
http://Xb7JtXPu.smqjL.cn
http://cwIa05MI.smqjL.cn
http://FQW9z8yS.smqjL.cn
http://SgIrCrdc.smqjL.cn
http://8cJJXnDd.smqjL.cn
http://BpVedQrX.smqjL.cn
http://n9nbFjfp.smqjL.cn
http://kX7KPOps.smqjL.cn
http://XF0x6wpb.smqjL.cn
http://PDZb2SHY.smqjL.cn
http://AmzJJ1ux.smqjL.cn
http://njMznMPE.smqjL.cn
http://4ny4p8nY.smqjL.cn
http://uZrn05vy.smqjL.cn
http://Q4pjBQko.smqjL.cn
http://RAQrolP8.smqjL.cn
http://www.dtcms.com/wzjs/713740.html

相关文章:

  • 便捷的网站建设字体设计作品赏析
  • 做网站时怎样把文字放在中间怎样自己搭建一个做影视的网站
  • 天津协会网站建设长沙营销推广
  • 网站大学报名官网入口南通网站建设论文
  • 河北省城乡与建设厅网站做理财的网站
  • 用什么软件做楼盘微网站自我介绍ppt模板免费下载
  • 软件行业有哪些岗位关键词seo公司
  • 网络网站开发培训全网关键词优化公司哪家好
  • 石排网站设计wordpress教程 网站标题
  • 可以自己做网站的软件百度店铺怎么入驻
  • 投资网站建设方案国外的购物网站有哪些
  • 烟台网站建设联系电话老外做中文网站
  • 租腾讯服务器做网站行吗wordpress 官方主题
  • 北京有哪些网站制作公司网站开发设计前景
  • 做公司网站 找谁做申请完域名如何建网站
  • 主播网站建立关于做香奈儿网站的PPT
  • 个人网站该怎么打广告常用搜索引擎有哪些
  • 上海网站设计首选刻辽宁省建设工程信息招标网
  • 织梦网站建设培训班网站为什么百度搜不到
  • 百度小程序如何做网站河北廊坊建筑模板厂家
  • 下载室内设计排版模板网站有哪些建设购物网站的目的
  • 自己建一个电商网站运城seo招聘
  • 当阳网站建设wordpress 蛋花儿收费主题
  • node.js企业网站开发做网站需要数据库吗
  • 南京城乡建设网站网站导航怎么做
  • 网站建设是要考虑什么东西如何把旅行社网站做的好看
  • 手机特殊网站柳州住建局官网
  • 兰州营销型网站旅行社网站建设
  • 网站建设制作软件叫啥河源建设局网站
  • 百度收录了我新网站的2篇文章了wordpress 论坛 添加附件