2025年6月4日 星期三 乙巳(蛇)年 三月初八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python提取路径名称,最后一个正斜杠后边图片名称(加后缀)字符串(python小白学习笔记五)

时间:08-23来源:作者:点击数:35

爬取京东图片的时候,遇到了一个问题,假如需要把图片存储进去数据库,需要把图片路径和图片名称存储进去数据库,但是图片路径是正斜杠,如下:/img11.360buyimg.com/n7/jfs/t25855/259/1224767986/141142/af393ca6/5b8e328dN0671ae1e.jpg。

那么如何提取到af393ca6/5b8e328dN0671ae1e.jpg 这个名称?

解决方法:使用正则表达式和提取字符串表达式

代码如下:

先从路径中查找最后一个 正斜杠到 .jpg后缀结尾的字符串。

  • a="ABCDEFGHIJABCDEFGHIJABCDEFGHIJ"
  • b="H"
  • print("在a中查找最后一个b后面的字符:"+a[a.rfind(b):])

完整代码:

  • #正则表达式
  • import re
  • import urllib.request
  • #在a中查找最后一个b后面的字符
  • a="ABCDEFGHIJABCDEFGHIJABCDEFGHIJ"
  • b="H"
  • print("在a中查找最后一个b后面的字符:"+a[a.rfind(b):])
  • #(1)提取数据图片的名称
  • strint1="//img11.360buyimg.com/n7/jfs/t25855/259/1224767986/141142/af393ca6/5b8e328dN0671ae1e.jpg"
  • #在最后一个字符中找
  • end="/"
  • string2=strint1[strint1.rfind(end):] # 在strint1中查找最后一个正斜杠/后面的字符,图片名称
  • print("string2:"+string2)
  • pat2='/(.+?\.jpg)' #提取最后一个斜杠到 .jpg后缀名称
  • imagelist2=re.compile(pat2).findall(string2)
  • imagelist2=str(imagelist2[0]) #提取第一个名称 ,去掉正斜杠
  • print('imglist:'+imagelist2)
  • #提取 /img11.360buyimg.com/n7/jfs/ 到后缀 .jpg的名称
  • pat1='/img11.360buyimg.com/n7/jfs/(.+?\.jpg)'
  • result=re.search(pat1,strint1);
  • print(result)
  • imagelist=re.compile(pat1).findall(strint1)
  • imagelist=str(imagelist)
  • print('imglist:'+imagelist[0])

运行结果如下:

  • D:\工具\pythonTools\CatchTest1101\venv\Scripts\python.exe D:/工具/pythonTools/CatchTest1101/venv/test/test110504.py
  • 在a中查找最后一个b后面的字符:HIJ
  • string2:/5b8e328dN0671ae1e.jpg
  • imglist:5b8e328dN0671ae1e.jpg
  • <re.Match object; span=(1, 88), match='/img11.360buyimg.com/n7/jfs/t25855/259/1224767986>
  • imglist:[
  • Process finished with exit code 0
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门