请问这个图片链接地址是哪里获取的?

2026-03-30 08:131阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计904个文字,预计阅读时间需要4分钟。

请问这个图片链接地址是哪里获取的?

复制代码+代码如下:pythonimport re

正则表达式获取图片地址def extract_image_url(text): pattern=r'/\[(img|href)\]\[(.*?)\]\[(\^\d+)\]src\s*=\s*(?:\S+)\s*?\?(\S+)=\S+' matches=re.findall(pattern, text) image_urls=[match[0] + match[1] + match[2] + '.jpg' for match in matches] return image_urls

示例文本text=[img]example.com/image1.jpg[href]example.com/image2.jpg

获取图片地址image_urls=extract_image_url(text)print(image_urls)

请问这个图片链接地址是哪里获取的?

问题:采集过程中遇到的问题:从数据库中读取出来的图片没有正常显示,分析后发现是数据问题。

复制代码 代码如下:
reg = /<[img|href][^>]*src\s*=\s*('|")?([^'">]*)\1([^>])*>/ig


正则获取图片地址

一、问题:

采集的过程中遇到一个问题:从数据库里读出来的图片没有正常显示,分析后发现是数据库里的图片以网站根目录为相对路径方式存储,图片地址如:img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg,原来做的读取图片是以开关的URL绝对图片获取,所以采集中出现以根目录开始的图片地址采集失败。

二、解决方案:

分析HTML代码,显示图片定用<img>标签,写一个正则式获取<img>里的图片地址再加网站的网站转换为URL的绝对地址,接着的事情交给后面的代码(远程图片获取到本地)。

1) 完善解决方法,以“<img”开始写正规,但这个正式式比较难写要考虑“<img>”的属性、空格、多空格、单引号、双引号、不规范的属性引用(如单引号或双引号括起的属性值)等等。
2)应急解决方法,只要考虑“src=”属性开始的正则式,但这种方式存在不完善的地方,只要有“src=”出现在的都会被替换,出现“src="的可能性有:javascript,文本里出现的"src"等。但这些是比较少的,再加上一个图片格式做正则限定,出现被误替换的概率会更少。

三、实现代码:

考虑到第一种方法的难度暂时没有写,这里第二种应急解决方法实现(实现涉及的正则式内容这里不做讲解和分析,正则式的知识内容请google或baidu ^v^):

复制代码 代码如下:
<?php
//测试样式,考虑多种情况下的正则式。
$body = <<<HTML
<P align=center>1<img width="60" height="90px" src='www.chongwen.comimg.558idc.com/uploadfile/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg' border="0"></P>
<P align=center>3<img src='img.558idc.com/uploadfile/allimg/090403/012F3D13-2.jpg'style="width:100px"> </P>
<P align=center>4<img width="60" height="90px" src= "img.558idc.com/uploadfile/allimg/zgbds/012F35310-0.jpg"></P>
<P align=center>5<img src=" img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>6<img src= " img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>7<img src= img.558idc.com/uploadfile/allimg/090403/012F3D13-2.jpg style="width:100px"> </P>
HTML;

//网站的地址
$str='src=/'www.chongwen.com/';
$body=preg_replace('/src/s*?=/s*?[/"|/']?/s*?//(.+?/.(?:jpg|gif|png|bmp))(/"|/'|/s)*?/s*?/is',"$str$1 '",$body);
echo $body;
?>

本文共计904个文字,预计阅读时间需要4分钟。

请问这个图片链接地址是哪里获取的?

复制代码+代码如下:pythonimport re

正则表达式获取图片地址def extract_image_url(text): pattern=r'/\[(img|href)\]\[(.*?)\]\[(\^\d+)\]src\s*=\s*(?:\S+)\s*?\?(\S+)=\S+' matches=re.findall(pattern, text) image_urls=[match[0] + match[1] + match[2] + '.jpg' for match in matches] return image_urls

示例文本text=[img]example.com/image1.jpg[href]example.com/image2.jpg

获取图片地址image_urls=extract_image_url(text)print(image_urls)

请问这个图片链接地址是哪里获取的?

问题:采集过程中遇到的问题:从数据库中读取出来的图片没有正常显示,分析后发现是数据问题。

复制代码 代码如下:
reg = /<[img|href][^>]*src\s*=\s*('|")?([^'">]*)\1([^>])*>/ig


正则获取图片地址

一、问题:

采集的过程中遇到一个问题:从数据库里读出来的图片没有正常显示,分析后发现是数据库里的图片以网站根目录为相对路径方式存储,图片地址如:img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg,原来做的读取图片是以开关的URL绝对图片获取,所以采集中出现以根目录开始的图片地址采集失败。

二、解决方案:

分析HTML代码,显示图片定用<img>标签,写一个正则式获取<img>里的图片地址再加网站的网站转换为URL的绝对地址,接着的事情交给后面的代码(远程图片获取到本地)。

1) 完善解决方法,以“<img”开始写正规,但这个正式式比较难写要考虑“<img>”的属性、空格、多空格、单引号、双引号、不规范的属性引用(如单引号或双引号括起的属性值)等等。
2)应急解决方法,只要考虑“src=”属性开始的正则式,但这种方式存在不完善的地方,只要有“src=”出现在的都会被替换,出现“src="的可能性有:javascript,文本里出现的"src"等。但这些是比较少的,再加上一个图片格式做正则限定,出现被误替换的概率会更少。

三、实现代码:

考虑到第一种方法的难度暂时没有写,这里第二种应急解决方法实现(实现涉及的正则式内容这里不做讲解和分析,正则式的知识内容请google或baidu ^v^):

复制代码 代码如下:
<?php
//测试样式,考虑多种情况下的正则式。
$body = <<<HTML
<P align=center>1<img width="60" height="90px" src='www.chongwen.comimg.558idc.com/uploadfile/allimg/090403/012F35310-0.jpg'></P>
<P align=center>2<img src='img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg' border="0"></P>
<P align=center>3<img src='img.558idc.com/uploadfile/allimg/090403/012F3D13-2.jpg'style="width:100px"> </P>
<P align=center>4<img width="60" height="90px" src= "img.558idc.com/uploadfile/allimg/zgbds/012F35310-0.jpg"></P>
<P align=center>5<img src=" img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>6<img src= " img.558idc.com/uploadfile/allimg/090403/012F31N9-1.jpg " border="0"></P>
<P align=center>7<img src= img.558idc.com/uploadfile/allimg/090403/012F3D13-2.jpg style="width:100px"> </P>
HTML;

//网站的地址
$str='src=/'www.chongwen.com/';
$body=preg_replace('/src/s*?=/s*?[/"|/']?/s*?//(.+?/.(?:jpg|gif|png|bmp))(/"|/'|/s)*?/s*?/is',"$str$1 '",$body);
echo $body;
?>