我正在制作网络抓取工具,并希望获取特定网站的内容。这是迄今为止的代码。
<?php
include('libs/simplehtmldom/simple_html_dom.php');
libxml_use_internal_errors(true);
for ($x = 1; $x <= 1; $x++) {
$pakwheels = file_get_contents('http://www.pakwheels.com/used-cars/search/-/?page=' . $x . '');
$doc = new simple_html_dom();
$doc->load($pakwheels);
foreach($doc->find('a[class=car-name]') as $link)
{
$link->href = 'http://www.pakwheels.com' . $link->href;
$details = file_get_contents($link);
$pakfile = 'pakfile.txt';
file_put_contents($pakfile , $details, FILE_APPEND);
}
}
?>
当我想使用file_get_contents
时,它会向我显示警告,而内容不会存入文件中。任何解决方案都非常感谢。
当我回复这样的结果时:
<?php
include('libs/simplehtmldom/simple_html_dom.php');
libxml_use_internal_errors(true);
for ($x = 1; $x <= 1; $x++) {
$pakwheels = file_get_contents('http://www.pakwheels.com/used-cars/search/-/?page=' . $x . '');
$doc = new simple_html_dom();
$doc->load($pakwheels);
foreach($doc->find('a[class=car-name]') as $link)
{
$link->href = 'http://www.pakwheels.com' . $link->href;
echo $link->outertext;
//$details = file_get_contents($link);
//$pakfile = 'pakfile.txt';
//file_put_contents($pakfile , $details, FILE_APPEND);
}
}
?>
我得到了我想要的,
我想要实现的是file_get_contents
来保存文件上的每个链接详细信息页面。
答案 0 :(得分:2)
谢谢大家。我自己做了。
<?php
包括(&#39;库/ simplehtmldom / simple_html_dom.php&#39);
libxml_use_internal_errors(真); for($ x = 1; $ x&lt; = 1; $ x ++){
$pakwheels = file_get_contents('http://www.pakwheels.com/used-cars/search/-/?page=' . $x . '');
$doc = new simple_html_dom();
$doc->load($pakwheels);
foreach($doc->find('a[class=car-name]') as $link)
{
// $link->href = 'http://www.pakwheels.com' . $link->href;
$details = file_get_contents('http://www.pakwheels.com'.$link->href);
$pakfile = 'pakfile.txt';
file_put_contents($pakfile , $details, FILE_APPEND);
}
} ?&GT;
答案 1 :(得分:0)
您不应将HTML标记传递给file_get_contents()
,因此您的代码:
file_get_contents("<a href='http://example.com/file.php'></a<");
不行,你应该直接输入url-string:
file_get_contents("http://example.com/file.php");
答案 2 :(得分:0)
这里
$ detail = file_get_contents($ link);
更改为
$ detail = file_get_contents($ link-&gt; href);