我已经搜索过,并且今天早上搜索了3个多小时,尝试了10种不同的设置,以便如何从网址中抓取并显示图像列表,但这些设置都没有正常工作。我要么最终没有信息显示,或500错误。有人可以给我一个例子或者帮助我如何正确地做到这一点。 file_get_contents不是一个可行的选择。
示例目录:http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/
我知道在该目录中的文件: 001.JPG, 002.JPG, 003.JPG
我希望输出是文件的确切网址。
如果需要更多信息,请告诉我,我不是100%确定如何正确解释它。
编辑:
好吧,我想我真正想做的是检查所有图片标签的网址,并显示一个包含该图片的完整网址的列表。
使用这个网址+图片+ php的新东西所以请不要用你的downvote锤子打我太难,没有评论大声笑。
Code I Tried:
<?php
/*
Credits: Bit Repository
URL: http://www.bitrepository.com/
*/
$url = $location;
// Fetch page
$string = FetchPage($url);
// Regex that extracts the images (full tag)
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex, $string, $out, PREG_PATTERN_ORDER);
$img_tag_array = $out[0];
echo "<pre>"; print_r($img_tag_array); echo "</pre>";
// Regex for SRC Value
$image_regex_src_url = '/<img[^>]*'.
'src=[\"|\'](.*)[\"|\']/Ui';
preg_match_all($image_regex_src_url, $string, $out, PREG_PATTERN_ORDER);
$images_url_array = $out[1];
echo "<pre>"; print_r($images_url_array); echo "</pre>";
// Fetch Page Function
function FetchPage($path)
{
$file = fopen($path, "r");
if (!$file)
{
exit("The was a connection error!");
}
$data = '';
while (!feof($file))
{
// Extract the data from the file / url
$data .= fgets($file, 1024);
}
return $data;
}
?>
并返回一个空白页
答案 0 :(得分:2)
松散地基于你已经尝试过的代码(但是却充满了问题)。这会抓取网址$url
的完整内容,解析<img>
src
个属性,然后输出它们。
由于此特定网络托管服务商使用<base href=""/>
代码重置网页上所有网址的基本部分,因此我添加了一个$base
变量,您应将其设置为基本代码的内容。
此外,看起来这个特定的网络主机有一些非常智能的反链接,所以并非所有图像都可见。
但是!给它一个旋转,让我知道它是否满足您的需要,以及任何问题。
<?php
$url = 'http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/';
$base = 'http://www.webtoonlive.com/';
// Pull in the external HTML contents
$contents = file_get_contents( $url );
// Use Regular Expressions to match all <img src="???" />
preg_match_all( '/<img[^>]*src=[\"|\'](.*)[\"|\']/Ui', $contents, $out, PREG_PATTERN_ORDER);
foreach ( $out[1] as $k=>$v ){ // Step through all SRC's
// Prepend the URL with the $base URL (if needed)
if ( strpos( $v, 'http://' ) !== true ) $v = $base . $v;
// Output a link to the URL
echo '<a href="' . $v . '">' . $v . '</a><br/>';
}
示例输出:
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/000.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/001.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/002.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/003.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/004.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/005.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/006.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/007.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/008.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/009.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/010.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/011.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/012.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/013.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/014.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/015.jpg
http://www.webtoonlive.com/webtoon/fantasy_world_survival/ch02/016.jpg