AmazonでPHPを使用していますが、私は何が間違っているのか分かりません。問題は、私が掻き集めたすべてのデータにアクセスできないことです。ここに私のコードは次のとおりです。PHP Web ScrapingとJSONまたはArray出力
<?php
$url = 'https://www.amazon.com/s/ref=nb_sb_ss_c_1_9?url=search-alias%3Daps&field-keywords=most+sold+items+on+amazon&sprefix=most+sold%2Caps%2C435&crid=348CE8G406XVG&rh=i%3Aaps%2Ck%3Amost+sold+items+on+amazon';
$html = file_get_html($url);
foreach ($html->find('h2[class=a-size-medium]') as $element) {
echo "<li>" .$element->plaintext."</li><br>";
}
?>
foreach文は、プレーンテキストを出力ループが、私は、変数や配列へのプレーンテキストを渡すことができるようにしたいです。問題は、私がそれを行い結果を出力すると、プレーンテキスト配列の最後の文字列しか取得できないということです。私は間違っていることを見つけるために多くの研究をしましたが、私はそれを見つけることができません。助けていただければ幸いです。ここで私が達成しようとしているもの:
<?php
$url = 'https://www.amazon.com/s/ref=nb_sb_ss_c_1_9?url=search-alias%3Daps&field-keywords=most+sold+items+on+amazon&sprefix=most+sold%2Caps%2C435&crid=348CE8G406XVG&rh=i%3Aaps%2Ck%3Amost+sold+items+on+amazon';
$hold = array();
$html = file_get_html($url);
foreach ($html->find('h2[class=a-size-medium]') as $element) {
$hold = $element->plaintext;
}
print_r($hold);
?>
第二のコードが出力され、プレーンテキストの最後の文字列:「ラバーメイドLunchBloxサイドコンテナキット、2パック、1806176」。私はプレーンテキストをエンコードしてデコードすることでこれを達成しようとしましたが、何も変わっていません私は間違って何をしていますか?
私はPHPが... –
@RoshanBhumbraでこれを行うための最良の言語ではないかもしれないと感じ。コメントしてくれてありがとう。なぜ説明できますか? – Kelly
Phpはページを提供するのに適しています。また、拡張操作にはあまり適していないさまざまな癖があります。たとえば、実行期限があるため、他の多くの言語を使用しているようなページを継続的に削り取ることはできません。 –