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

爬取京东图片的时候,遇到了一个问题,假如需要把图片存储进去数据库,需要把图片路径和图片名称存储进去数据库,但是图片路径是正斜杠,如下:/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

 

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值