python爬取图片,初学者可以实践练手

import  requests
import lxml.html
from lxml import etree
import os

#导入伪装头
headers={"伪装浏览器"}  #可以试着伪装自己,因为我爬取的比较小就没有使用上了


base_url=f"https://colorhub.me/photos?page=1"  #获取图片的链接地址,我这只爬取了一页图片
req=requests.get(base_url)   #发出请求

req.encoding="gbk"  
html=etree.HTML(req.text)  #将获取到的数据转成HTML文档的形式

hrefs=html.xpath("//*[@class='card photo-card']/a/@href")  #定位到每个图片的url地址

for i in hrefs:   #循环得到的图片链接,并获取其HTML数据
    pic_lode=requests.get(i)
    c=etree.HTML(pic_lode.text)

    pic_name=c.xpath("//*[@data-magnify='gallery']/@title")[0]  #定位到图片的名字

    pic_lode_place=c.xpath("//*[@data-magnify='gallery']/@href") #定位到图片的当前源信息

    for i in pic_lode_place:   #最后一步是循环信息,并写入文件中
        x="http:"+i
        requ=requests.get(x).content
        if not os.path.exists("python爬虫/爬虫图片"):
            os.mkdir("python爬虫/爬虫图片")
        img_path = "./爬虫图片/" + pic_name + '.jpg'
        with open(img_path, 'wb') as f:
            f.write(requ)
            print(pic_name+".jpg下载完成")
    print("全部下载完成")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值