如果网页上的图片放在img标签中,那么提取src就可以得到图片的真实地址,但有些网页上的图片却并非img标签,而是div标签。
是的,你没看错,的确是div标签,比如某东一些商品的详情页就是用div呈现的,这种情况下你找不到img标签。
使用selenium的screenshot_as_png方法虽然可以获得这个div的截图,但如果图片太大就会出现截断的情况,因此该方法不可取,要另寻良方。
没有img标签,图片是哪里来的呢?答案在css样式中
所以想要抓取这样的图片,就要获得css样式中的background-image,办法如下
data_id = child.get_attribute('data-id')
js = f"return $('[data-id=\"{data_id}\"]').css('background-image')"
url = driver.execute_script(js)
url = re.search(r'(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]', url).group(0)复制
使用jquery选择器通过data-id属性获得到div标签,然后获取css样式里的background-image,selenium可以执行javascript代码,这样就获取到了图片的真实url。
url里的一些特殊字符可以通过正则表达式去掉,剩下的就是向图片的真实地址发送请求,得到响应后将图片保存到本地,大功告成。
文章转载自coolpython,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1061次阅读
2025-04-09 15:33:27
2025年3月国产数据库大事记
墨天轮编辑部
657次阅读
2025-04-03 15:21:16
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
466次阅读
2025-04-10 15:35:48
征文大赛 |「码」上数据库—— KWDB 2025 创作者计划启动
KaiwuDB
437次阅读
2025-04-01 20:42:12
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
376次阅读
2025-04-11 09:38:42
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
375次阅读
2025-03-21 10:34:08
天津市政府数据库框采结果公布!
通讯员
287次阅读
2025-04-10 12:32:35
最近我为什么不写评论国产数据库的文章了
白鳝的洞穴
271次阅读
2025-04-07 09:44:54
从HaloDB体验到国产数据库兼容性
多明戈教你玩狼人杀
254次阅读
2025-04-07 09:36:17
OceanBase 单机版发布,针对中小规模业务场景
通讯员
219次阅读
2025-03-28 12:01:19