1

我正在尝试使用 2 或 3 个 href 链接来抓取网站以下载 pdf。这是网页的格式

<p class="file">
                        <a class="ext-pdf" rel="file" href="http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2573&amp;dl=1">Deadbolts Catalogue Section</a>
                        <span class="bdi">(.pdf, 660 kB)</span>
                    </p>



                    <p class="file">
                        <a class="ext-pdf" rel="file" href="http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2625&amp;dl=1">Lockwood Home Security Solutions</a>
                        <span class="bdi">(.pdf, 3.7 MB)</span>
                    </p>



                    <p class="file">
                        <a class="ext-pdf" rel="file" href="http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=3045&amp;dl=1">Lockwood Elements Brochure</a>
                        <span class="bdi">(.pdf, 1.2 MB)</span>
                    </p>

到目前为止,我可以从 DOM 中获取链接,但不能将它们放入同一个数组中。这是我的代码:

foreach ($html->find('a.[class="ext-pdf"]') as $pdfurl) {
   $testarray=array($pdfurl->href);   


    print_r($testarray);

}

这是输出数组( [0] => http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2594&dl=1 )数组( [0] => http://static-mpc .assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2625&dl=1 )

我究竟做错了什么?谢谢!:)

这是任何想知道的人的解决方案:

foreach ($html->find('a.[class="ext-pdf"]') as $pdfurl) 
$testarray[] = $pdfurl->href."<br>";
{



    print_r($testarray);

}
4

1 回答 1

0
$testarray[] = $pdfurl->href;

是你应该拥有的。您每次只是将一个包含 url 的数组添加到 SAME 变量中,因此每次循环迭代都会破坏您上次设置的变量。

于 2013-10-03T22:01:59.457 回答