前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全网最细------爬取4k付费高清大图(免费下载再也不是梦)

全网最细------爬取4k付费高清大图(免费下载再也不是梦)

原创
作者头像
拉不拉斯
发布2023-02-03 10:40:17
9230
发布2023-02-03 10:40:17
举报
文章被收录于专栏:Python网络爬虫

本次案例将教大家免费爬取4k高清付费大图,即使你是爬虫新手,也可以食用本次文章实现你的免费下载梦,话不多说,先看效果

网站视图:

看到这些图片你是否怦然心动,跟着我一起看下去.

在这里插入图片描述
在这里插入图片描述

下图是图片下载后保存的目录

在这里插入图片描述
在这里插入图片描述
一.思路分析

        首先最基本的是获取每张图片的链接,然后下载;获取链接的方式:查看网页源代码,发现每张图片的部分url在源代码中,此时只需要找出缺失url然后拼接,即可获取图片的完整链接。         获取每张图片的链接后,进行遍历,获取原始图片名字作为图片保存名;将图片保存在指定目录,每下载一张图片,打印输出下载完成.

二.技术支撑
1.os创建指定文件夹

1.1判断文件夹是否存在

代码语言:javascript
复制
os.path.exists(path) # path是文件夹或者文件的相对路径或者绝对路径

1.2创建一级文件夹           创建一级文件是指,被创建文件夹的上级文件夹都存在。只创建最后一层文件夹,如果中间某一层文件夹不存在,将报错,可以先使用os.path.exists()判断.

代码语言:javascript
复制
os.mkdir(r'C:\Users\123\demo1\test1')
#只会创建test1文件夹,前提是前面的文件夹都存在,否则将会报错

1.2创建多级文件夹

代码语言:javascript
复制
os.makedirs(r'C:\Users\123\demo1\test1\test2')
2.lxml相关知识(可以在csdn搜索相关文章进行系统学习)
三.逐步分析及代码实现
1.获取图片部分url链接

通过开发者工具,可以发现在网页源代码中有图片的部分链接但不完整

在这里插入图片描述
在这里插入图片描述
2.获取图片完整url链接

如何获取前半部分链接?这时候可以查看网络选项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对比部分链接与完整链接:这时候可以做出判断 图片的完整链接即http://pic.netbian.com+“每张图片的部分链接”

代码语言:javascript
复制
                       /uploads/allimg/230202/004539-16752699392f3f.jpg
http://pic.netbian.com/uploads/allimg/230202/004539-16752699392f3f.jpg
3.代码实现
代码语言:javascript
复制
import requests
from lxml import etree
import os
url="http://pic.netbian.com/4kdongman/"
headers={
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.3161 SLBChan/29"
}
response=requests.get(url=url,headers=headers)
response.encoding=response.apparent_encoding
text=response.text

tree=etree.HTML(text)
lis=tree.xpath('//div[@class="slist"]//li')
if not os.path.exists("./imgs1"):
    os.mkdir("./imgs1")
for li in lis:
    src="http://pic.netbian.com"+li.xpath('./a/img/@src')[0]
    name=li.xpath('./a/img/@alt')[0]+".jpg"
    img_path="imgs1/"+name
    img_data=requests.get(url=src,headers=headers).content
    with open(img_path,"wb") as fp:
        fp.write(img_data)
        print("下载完成")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网站视图:
  • 一.思路分析
  • 二.技术支撑
    • 1.os创建指定文件夹
      • 2.lxml相关知识(可以在csdn搜索相关文章进行系统学习)
      • 三.逐步分析及代码实现
        • 1.获取图片部分url链接
          • 2.获取图片完整url链接
            • 3.代码实现
            相关产品与服务
            云开发 CLI 工具
            云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档