Python爬虫练习笔记——爬取单个网页里的所有图片Plus(入门)

这篇博客介绍了作者在Python爬虫实践中,如何分析网页结构,使用BeautifulSoup获取图片描述文字,并以此作为图片文件名。在过程中解决了因特殊字符导致的文件名错误问题。
摘要由CSDN通过智能技术生成

在上一篇笔记的基础上,又继续优化了一下下~~

去看上一篇:https://blog.csdn.net/sinat_34937826/article/details/105494749

之前我是直接用了从1开始的数字作为爬下来图片的名称,但是后来发现在这个网页里,每张图片前面都会对应有一句话的介绍文字,有点喜欢~ 所以就想用网页里图片的描述作为对应图片下载后的名称,在这里记录一下实现过程吧。

首先还是分析网页
由于前面已经完成了图片的爬取,那么这次只需要观察描述文字的代码结构以及文字和对应图片代码结构的关系就行了。
在这里插入图片描述
简单记录一下分析过程吧~哈哈哈

  1. 本来以为每段文字前面都有一个class="pictext",那么用 bs.find_all('p', class_ = "pictext") 就可以一次性拿到所有class="pictext"p 标签了,(注意是class_,不是class,因为class是python的关键字,所以后面要加个尾巴,防止冲突),再从里面取出文字部分就好了,结果……有好几段描述文字前面都没有带 class="pictext" ……优秀b( ̄▽ ̄)d
  2. 那么这些文字的共同之处就只剩下一个了:p 标签。这样的话拿出每张图片前面一个 p 标签里的文字应该就可以了!

开始编码
以上图↑中秋香姐的图片的文字举例,之前爬取图片的时候是按照 img 标签来找的,所以图片对应的描述文字的位置就是的父标签的前一个标签了。
这里参考一下菜鸟教程里BeautifulSoup的文档~

BeautifulSoup对象表示的是一个文档的内容。大部分时候,可以把它当作 Tag 对象,是一个特殊的 Tag,我们可以分别获取它的类型,名称,以及属性
.parent:获取Tag的父节点
.previous_sibling:获取当前Tag的上一个节点,属性通常是字符串或空白,真实结果是当前标签与上一个标签之间的顿号和换行符
.next_sibling:获取当前Tag的下一个节点,属性通常是字符串或空白,真是结果是当前标签与下一个标签之间的顿号与换行符

现在可以完成这部分的代码:

movie = soup.find_all('img')
for i in movie:
#爬取每个图片前面的那句话<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值