python爬虫第三步-简单抓取网站图片

解释都在代码里,方便看和理解

注意:正则表达式那里,因为我找的网站,里面的图片资源都有个_upload的前缀,所以就可以直接用作匹配的条件,具体匹配要看你所爬的网站,它的图片资源有怎样的规律,这样方便匹配

import urllib.request;
import re;

class GetURLImage:
    def __init__(self , URL , HEAD):#初始化
        self.url = URL;
        self.head = HEAD;
    def getHtml(self):#获取html页面数据
        self.request = urllib.request.Request(self.url);#设置请求的url
        self.request.add_header("user-agent" , self.head);#设置请求头
        self.response = urllib.request.urlopen(self.request);#发送请求信息
        return self.response.read();#获取html页面数据
    def getList(self):
        self.strimglist = [];
        #/_upload/tpl/00/20/32/template32/images/logo.png
        #正则表达式匹配图片路径 ,二进制格式
        self.imglist = re.findall(b"_upload/.*.png" , self.getHtml());
        #将域名与图片在服务器上的路径进行拼接,形成图片的请求路径,就可以直接访问服务器资源
        for i in self.imglist:
            self.strimglist.append(self.url + str(i , encoding="utf8"));
        return self.strimglist;
    def getImage(self):
        num = 0;
        filename = "./image/";
        for self.url in self.getList():
            num += 1;
            #文件写操作,将服务器上的图片资源下载到image文件夹中,请提前创建image文件夹
            with open(filename + str(num) + ".png" , "wb") as f :
                f.write(self.getHtml());

url = "可以自己到网上找网址";
head = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36";

html = GetURLImage(url , head);
#print(html.getList());
#print(html.getHtml());
html.getImage();
print("完成!!!");

还可以想想深度爬网页,后面有时间在写

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值