图片自动保存下载

# 1 请求对象的定制
# 2 获取网页源码
# 3 下载
## 下载的是前十页的图片  每页的地址不一样
# 第一页地址
# https://sc.chinaz.com/tupian/hudietupian.html
# 第二页地址
# https://sc.chinaz.com/tupian/hudietupian_2.html
# 第三页地址
# https://sc.chinaz.com/tupian/hudietupian_3.html
# 引入模块
import urllib.request
from lxml import etree
#######
# 请求定制
def creat_request(page):
    if (page == 1) :
        url = 'https://sc.chinaz.com/tupian/hudietupian.html'
    else:
        # 拼接网站 注意页码转换
        url = 'https://sc.chinaz.com/tupian/hudietupian_'+str(page)+'.html'
    # 请求对象的定制
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.36'
    }
    request = urllib.request.Request(url = url,headers=headers)
    return request
# 获取网页源码
def get_code(request):
    response = urllib.request.urlopen(request)
    code = response.read().decode('utf-8')
    return code
def down_load(code):
   # 下载图片 不是页面    通过网页源码解析图片--->使用xpath解析
   # name_list 和 scr_list什么区别
   tree = etree.HTML(code)
   # 保存图片名
   name_list = tree.xpath('//div/img/@alt')
   ###### !!!!!弄清楚这个地址怎么来的很重要!!!!!!!
   scr_list = tree.xpath('//div/img/@data-original')
   for i in range(len(name_list)):
       name = name_list[i]
       src = scr_list[i]
       url = 'http:'+src
       urllib.request.urlretrieve(url = url,filename='./hudie/' +  name+'.jpg')
## 这里才是运行的过程  上面只是单独组装的模块
if __name__ == '__main__':
    # 页码设置
    start_page = int(input("请输入起始页码"))
    end_page = int(input("请输入结束页码"))
    for page in range(start_page, end_page+1):
    # 1 请求对象的定制
      request = creat_request(page)
    # 2 获取网页源码
      code = get_code(request)
    # 3 下载
      down_load(code)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值