首页 > 编程知识 正文

p站格式,p站怎么批量下载图片

时间:2023-05-05 22:49:22 阅读:126540 作者:1305

前言

正文文字和照片来自网络,只用于学习、交流,没有商业用途。 有问题请马上联系处理。

PS :如果有合作伙伴需要python学习资料,请单击下面的链接自行获取

python只需点击免费的学习资料、代码和交流答案即可加入

你好。 今天决定决定决定决定爬行动物下面p站的照片。 首先打开网站进行研究。

对不起,我打错手了。 我想是下一个网站。

众所周知,插图网站pixiv是别名p站,所以今天我们用爬行动物保存大量二维p站的漂亮照片。

P站主要分为四个模块:插图、动图、漫画、小说,小说和漫画都是日语,看不懂,所以今天的目标是插图和动图。

图片链接规律分析今天以插图为例,进入插图模块。 首先,找到下载一张插图图像的方法。 打开F12进入网络,发现此页面返回每个插图的id。

单击各个插图进入插图的具体页面,浏览网站,连接上一页的id。

打开详细信息页面的源代码。 link选项卡上有href链接。 单击以访问。

进来,我发现里面有关于这个插图图像的详细信息,包括插图的标题、高度和宽度。 我认为url是插图的可下载链接。

单击url链接后,图像仍然直接在新窗口中打开。 表明这就是我们要找的插图图片的下载链接。

接下来,我们来看看这个可下载的插图url链接的规律。 在插图模块中打开第二张插图,按照与刚才相同的步骤查看可下载的链接。

简单来说,您可以看到这两个链接不仅id不同,而且其他链接保持不变,id是从插图列表页面返回的id。 这很简单。

一张图像爬虫下载我们拿出id,我们先下载一张图像。 如果你的一张图片能用爬虫下载的话,你会成功一半,剩下的工作写循环批量下载就可以了。

查看接口返回的json值,发现illust_id位于contents下。

每次动态加载时都会返回50张图的illust_id,但现在只需下载一张图,直接返回第一张图的illust_id。

然后,你需要写一个下载图片的方法。 保存到指定的目录下。 文件名使用illust_id。 在图像链接处也进行了分析,除了illust_id以外都一样。 简单地制作精灵就可以完成下载了。

至此,第一个图像已成功下载。

我下载了靓太的照片上面的一张照片。 接下来是批量。

第一批是插图列表中页面超过50个的图,如果再下降,接口将返回新数据。 接口的请求除了页码p不同以外都是一样的。

下降到底部,在Headers下请求的最大p值为10。 那么,以p的值为参数,从1循环到10就可以了。

第二批的地方是illust_id获取那里。 刚才下载一张的时候,我们直接0,50个的话写循环就可以了。

上图中的I在每次加1时返回illust_id。 将返回的所有50个illust_id添加到illust_ids空列表中,并在下载时从illust_ids循环获取illust_id以实现批量下载。

对于短时间的批量下载,支撑后回环防护很容易被支撑后回环,在被阻止ip的一段时间内无法再爬了。

反爬对策主要有以下三种。

加上等待时间,可以在批量请求接口之间加入随机等待时间。 关闭ip通常基于在规定时间内您的请求达到了该规定阈值,因此可以添加随机等待时间来控制爬网的频率。

但是,这个随机等待的时间也控制不好。 等待时间太短的话,效果可能会很差。 如果太长的话,攀登的时间就会变长。

随机用户代理也由网站判断你的请求是否是正常的浏览器请求行为。 如果你的爬行动物没有这个参数,那个网站会在第一时间认定你是爬行动物。 被屏蔽是自己的事。 如果你的UE一直不变的话,它会在多次请求后被识别出来。 所以,我们需要得到一些UA,每次请求时都要随机从这几个UA获取。

代理ip池最安全的是自己创建代理ip池。 代理ip也有免费和收费。 免费利用率不高。 你需要自己爬上去摘下来再检查一下再用。 每次攀登时随机选择一个可用的代理ip,可以大大降低被ip阻止的风险。 这个下次再写文章,专门谈谈自己代理ip池的构建方法。

那么,以上步骤基本上是爬行动物的基本步骤。 除了爬正文p站的图像,爬其他网站的图像的步骤也基本上是这个想法。

最后,这些图像可以用来自己欣赏和制作壁纸。 用于视频封面、素材或文章封面时,必须注意图像是否具有版权。

我记得代码中的headers信息被替换为自己的重新运行代码。

以上是今天的共享。 我希望对大家有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。