python爬虫(二)—解析内容(1)

python爬虫(二)——解析内容(1)

至于为什么说是(1)呢,因为之后可能会有(2)哈哈哈哈。
好的,话不多说。
在上一节中,我们已经将整个页面的内容全部捕获了出来,但是整个页面并使我们想要的,我们需要的可能只是那一行代码。这时候,从如此多的网页源代码中提取出内一行的话,有很多种办法,今天介绍用正则表达式提取的这一种(应该算得上最简单的一种吧)
开始!!!

准备工作
import requests
import re
headers = {
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36'
}
reponses = requests.get('https://www.doutula.com/article/detail/1472031',headers = headers)
html = reponses.text
#print(html)
#print(reponses.status_code)

这是我们上一节课学到的东西,也就是整个页面的内容,今天,我们来爬取表情包,链接就在上面的代码里。

开始爬

在网站里查看网页源代码,分析网站会发现,所有的图片都有自己对应的一个url,里面存放着自己的一张高清图
在这里插入图片描述
就像第一张是这个亚子,点进去就会发现那是一张高清图
在这里插入图片描述
然后捏,该怎么做

urls = re.findall('<img referrerpolicy="no-referrer" data-cfsrc="(.*?)" alt=".*?" οnerrοr=".*?" style=".*?">',html)
print(urls)

用到了正则表达式,是需要import re的,至于正则表达式的用法呢,如果介绍的话比较多而且麻烦,百度自取,这里就不多做解释。
你细品,你看,刚刚这串代码是

<img referrerpolicy="no-referrer" src="http://ww2.sinaimg.cn/large/9150e4e5gy1gcnc9v7skgj205t05ta9w.jpg" alt="可恶" onerror="this.src='http://img.doutula.com/production/uploads/image/2020/03/09/20200309709312_TijAwO.jpg'">

我们把他里面没用的东西都用.*?代替了,也就是这里是什么都可以,但是仔细看一下 data-cfsrc="(.*?)" 这个位置,它的.*?是加了括号的,也就是说,这里面的内容是你要提取的
上面内两行代码执行的结果是这个样子:
在这里插入图片描述
也就是这些表情包所在的网址,这样,我们就做到了提取出了你所需要的表情包的网址,接下来就是需要保存这些信息了,下节课再写,不急,慢慢来 (我有课!以后再更!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arik (IoT)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值