抓取网页图片源代码剖析

文章介绍了在网页图片采用懒加载策略和网站反爬虫技术的背景下,如何处理图片地址的不同存放位置,通过代码示例展示了如何抓取图片URL,并提到防止IP被封可使用代理IP机制。主要场景包括搜索引擎图片搜索结果下载和指定网站图片的批量下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、网页图片抓取时代背景

随着网络技术的发展和互联网的普及,由于网上用户数量越来越庞大,网站同时并发的压力比较大,尤其是大型网站,因此现在网页图片都采取懒加载(Lazy Load)的方式;还出现了好多为了采集资源而出现的网络爬虫(Net spider),为了反制图片爬虫,研发人员都不会把网页的图片地址放到<image>标签的src属性中去,而放到其他属性中去通过脚本来异步加载,或者页面中根本没有图片地址,通过专门的异步请求来单独获取和处理,还有就是针对频繁下载IP进行封号。

二、网页图片抓取难点处理

1、图片地址存放位置不同

采用以下网页图片抓取代码,把存放到不同位置的图片地址都抓取出来,:

            # 获取图片的真实地址
            if img_node_type==0:

                fileUrl=''

                # 优先src之外的其他属性,这些属性一般存放真实地址,发爬都是这样设计的
                for attrkey in img.attrs:
                    if attrkey=='src':
                        continue
                    tempurl = str(img.attrs[attrkey])
                    tempurl=get_imageurl_in_str(tempurl)
                    if tempurl=="": #当前属性值不含图片url则继续搜索其他属性值
                        continue
                    if tempurl[:4]=="http":
                        fileUrl = tempurl
                    elif tempurl[:2]=="//":
                        fileUrl = "http:"+tempurl
                    elif tempurl[:1] == "
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SF引流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值