Python批量爬取百度图片 2021-01-25

本文介绍了使用Python批量爬取百度图片,用于人脸替换软件的素材收集。在实践中遇到了创建目录错误、百度安全验证、动态加载、特定标签锁定、空图片链接以及略缩图等问题,并给出了相应的解决方案,如利用selenium动态加载库,以及在处理图片链接时的注意事项。
摘要由CSDN通过智能技术生成

最近在看人脸替换软件 因为涉及原视频切换提取人脸的过程 因此想到是否可以下载同一人物的不同人脸来进行代替原视频的人脸切片
这里简单科普一下人脸替换的原理:
1、对原视频进行切片(生成图片)
2、对替换视频进行切片(生成图片)
3、原视频切片人脸提取
4、替换切片人脸提取
5、算法模拟生成模型
6、替换视频切片人脸替换
7、替换视频切片图片合成视频
好了言归正传 这里我想需要大量的同一人物的不同人脸照片
但是所有python的网上代码提取均不能用 所以就自己写了一个凑合一下
一下是遇到的问题供大家在学习时参考
1、在创建目录时出现FileNotFound的问题
在这里插入图片描述
2、爬取图片时出现百度安全验证字样
在这里插入图片描述
在爬取图片的下载中增加head 但时head有可能会更新 所以后续需要下载的小伙伴请自行百度图片,在网页中找一下最新的head进行替换
3、百度图片动态加载问题
这里需要利用一个selenium的动态加载库 原理是用python模拟 chrome进行滚动加载图片

for i in range(10):
 js = "window.scrollTo(0,document.body.scrollHeight)"
 driver.execute_script(js)
 time.sleep(2)

这块代码 原理是循环十次 每次滚动到页面最下方 休眠2秒
建议减少休眠时间 改为多次循环
然后滚动完了再把休眠时间拉长一点或者不需要 我们这里只需要他的图片连接,实际图片是否展示出来无所谓
4、锁定特定标签的问题
这里一开始没有意识到百度是动态加载所以一开始利用beautifulsoup没有提取到指定的标签 后来也用正则试了下发现也没有后来才意识到是动态加载的问题
beautifulsoup比原生的正则功能更加强大 这里推荐一下
5、下载图片的过程中图片地址为空的问题
因为我接触python时间不长 本来想写 is not null 但发现没有null这个只有None
但是出错了
后来查了下可以这么写 x not (y is None)同上
6、提取的图片为略缩图的问题
这个我暂时没法解决后续有时间可能会考虑看一下
目前再搜索界面可以提取的直链只有ss1开头的略所图可能跟搜索条件有关暂时看到怎么再搜索中添加条件的比如1920*1080这种的后续考虑下 XD


                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值