会员登录|免费注册|忘记密码|管理入口 返回主站||保存桌面|手机浏览|联系方式|购物车
selenium进行xhs图片爬虫:04selenium实现获取一篇文章图片
2024-12-24IP属地 湖北1

📚博客主页:knighthood2001
公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下
🎃知识星球:【认知up吧|成长|副业】介绍
❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️
🙏笔者水平有限,欢迎各位大佬指点,相互学习进步

上文我说了,我本来是用今天这个方法进行爬虫的,selenium远程调试的思路,这样的好处就是不需要你进行登录。

比如下面的的小红书链接
100篇阅读理解刷爆大纲5500词|2001年Text3 - 小红书

我需要将其中的图片下载下来,并且还是无水印的。

你可以自己多研究一下

因此你可以通过正则表达式进行图片链接的提取。

因此实现爬取小红书指定文章的图片的一般步骤就是

->->

由于小红书反爬比较恶心,我这里采用的是selenium操作已经打开的浏览器。该原理是selenium进行远程调控,这个好处就是不需要登录(没有很好措施的话,很容易扫码登录也失败,再加上笔者好久没有深入研究cookie这方面内容了,很多东西忘了

如果这方面不太会的,可以看看我下面这篇文章,或者你们使用保存cookie的方法进行登录。

最新:Selenium操作已经打开的Chrome(免登录)

 

使用上面的方法,你用selenium,就不需要弹出登录让你登录(有时候爬虫最难的就是登录问题

解决了登录问题,后面的就比较好解决了。

但是这次代码,相对于我上面那个即插即用的模板来说,不太一样。因为我上面的那个模板,每次保存图片,由于时间戳一样,就会导致即使有多个图片链接,但是最后都是以一个时间戳命名,最后就保存为1张照片(被反复覆盖了)。

因此我需要进行代码的重构,我的想法是把for循环遍历放到保存图片中,原先保存图片是传入的一个链接,我这时候传入的是一个列表,然后通过for循环进行图片的保存。

并且图片的上一级目录还有一个时间戳,可以帮助你排序,分辨下载先后顺序。

这一部分的代码,和之前版本来说,还是有较大区别的。

 

需要注意的一点是,matches中的图片链接有时候会有重复,因此需要去重操作,但是set函数的去重操作是无序的,会导致最终图片保存顺序为乱序。
因此我这里采用调用collections的Counter,解决去重+乱序的问题。

 

selenium进行xhs图片爬虫:04selenium实现获取一篇文章图片

这个项目也算是搭积木吧,但是我觉得应该挺多人需要。因为有时候一张一张手动保存有水印的小红书图片,慢且有水印。