python爬虫数据数据解析之正则表达式

1、利用正则表达式解析页面信息步骤

(1)导入re库

import re

(2)利用最常用的方法compile()和findall()结合获取数据

html = res.text
p=re.compile('<div class="movie-item-info">.*?<a href="/films/.*?title="(.*?)".*?<p class="star">\s+(.*?)\s+</p>.*?<p class="releasetime">(.*?)</p>',re.S)
result=re.findall(p,html)

注意观察compile()方法中的.?和(.?)
而(.?)就是我们要获取的信息,.?是省略掉的信息。
例如。
html="abcd<hello world>abcd" p=re.compile('ab.*?<(.*?)>') result=re.findall(p,html)
此时result中的 内容就是hello world。
需要注意的是result是列表信息,就是说我们可以保存多个数据(也就是说模板中可以有多个(.*?)),而且只要html中符合模板中空缺的数据,都会全部保存下来。

这个方法的基本思想是利用compile()构造出一个模板然后利用findall()将构造的模板去跟我们爬取的数据对比,找出我们需要的数据,也就是我们自己设置的模板中的(.*?)

3、补充:构建模板
1)找到你爬取的网页,点击f12,查看网页原码
2)找到你要爬取的信息在源码中的位置
3)把那部分源码复制下来,观察你所需要的 信息,合理利用.?以及(.?)即可获取到你自己想要的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值