如何用正则取图片地址
我只需要这个格式的
https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg
<div moduleId='R1901001_3' moduleName='商品详情'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg" alt="" />p>div><div moduleId='R1901001_5' moduleName='常见问题'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/8YDP8GuVWzJ_28zN-mzn5w.jpg" alt="" />p>div><div moduleId='R1901001_6' moduleName='售后服务'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/Vx3s5KLQD46FmOUgGAXP5Q.jpg" alt="" />p>div>
z = '''
<div moduleId='R1901001_3' moduleName='商品详情'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg" alt="" /></p></div><div moduleId='R1901001_5' moduleName='常见问题'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/8YDP8GuVWzJ_28zN-mzn5w.jpg" alt="" /></p></div><div moduleId='R1901001_6' moduleName='售后服务'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/Vx3s5KLQD46FmOUgGAXP5Q.jpg" alt="" /></p></div>
'''
import re
print(re.findall('https?://[^"]+?\.(?:jpe?g|gif|png)(?=")',z))
import re
html = "<div moduleId='R1901001_3' moduleName='商品详情'><p><img src2=\"https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg\" alt=\"\" /></p></div><div moduleId='R1901001_5' moduleName='常见问题'><p><img src2=\"https://uimgproxy.suning.cn/uimg1/sop/commodity/8YDP8GuVWzJ_28zN-mzn5w.jpg\" alt=\"\" /></p></div><div moduleId='R1901001_6' moduleName='售后服务'><p><img src2=\"https://uimgproxy.suning.cn/uimg1/sop/commodity/Vx3s5KLQD46FmOUgGAXP5Q.jpg\" alt=\"\" /></p></div>"
pattern = re.compile(r'src2="(.+?)"')
img_urls = re.findall(pattern, html)
print(img_urls)
输出:
['https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg', 'https://uimgproxy.suning.cn/uimg1/sop/commodity/8YDP8GuVWzJ_28zN-mzn5w.jpg', 'https://uimgproxy.suning.cn/uimg1/sop/commodity/Vx3s5KLQD46FmOUgGAXP5Q.jpg']
其中,pattern 是用来匹配图片地址的正则表达式,re.findall() 函数会返回所有匹配到的字符串组成的列表。
import re
s="""<div moduleId='R1901001_3' moduleName='商品详情'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg" alt="" /></p></div><div moduleId='R1901001_5' moduleName='常见问题'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/8YDP8GuVWzJ_28zN-mzn5w.jpg" alt="" /></p></div><div moduleId='R1901001_6' moduleName='售后服务'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/Vx3s5KLQD46FmOUgGAXP5Q.jpg" alt="" /></p></div>"""
match = re.findall(r'<img src2="(.*?)" ', s)
print(match)
有帮助的话,请点采纳该答案~
import re
s1="""<div moduleId='R1901001_3' moduleName='商品详情'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/kjFxXLy-ykw5JjXVM4BqmQ.jpg" alt="" /></p></div><div moduleId='R1901001_5' moduleName='常见问题'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/8YDP8GuVWzJ_28zN-mzn5w.jpg" alt="" /></p></div><div moduleId='R1901001_6' moduleName='售后服务'><p><img src2="https://uimgproxy.suning.cn/uimg1/sop/commodity/Vx3s5KLQD46FmOUgGAXP5Q.jpg" alt="" /></p></div>"""
src = re.findall('src2="(.*?jpg)"', s1)
print(src)
不知道你这个问题是否已经解决, 如果还没有解决的话: