1

PDFをダウンロードするための2つまたは3つのhrefリンクを含むWebサイトをスクレイピングしようとしています。これはウェブページのフォーマットです

<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);

}

そして、これが出力 Array ( [0] => http://static-mpc.assaabloy.com/lockwoodfile/Fetchfile.aspx?id=2594&dl=1 ) Array ( [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 に答える