一、网页图片抓取时代背景
随着网络技术的发展和互联网的普及,由于网上用户数量越来越庞大,网站同时并发的压力比较大,尤其是大型网站,因此现在网页图片都采取懒加载(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

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

被折叠的 条评论
为什么被折叠?



