Web ショップから評価を読み取るためのクロール スクリプトを作成しています。
正しいコンテンツを取得できないため、カール部分が問題になっています。
ajax スクリプトを使用して、データベースから URL をバッチで選択します。評価のあるページへの正しい URL を curl に与えますが、Curl は URL に可変部分のないページを取得しています。
これは、私が Curl に渡す URL です。$actualurl
(これは、6 つの評価 (製品) をすべて読みたいページです。)
しかし、curl 呼び出しを使用すると、このページからコンテンツを取得できます。これは、viewAction がなくても同じです。出力をエコーしました
私の Curl 呼び出しは次のようになります。
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, $actualurl);
//read content of $url
$result = curl_exec ($ch);
curl_close ($ch);
Curl が URL の最後の部分を無視するのはなぜですか (with &ViewAction=ViewProductRating
)
カール初心者なのでよろしくお願いします!
編集
上記の URL を 4 つの部分から作成します。部品は次のとおりです。
$domainroot: http://www.domain.com/
$objectpath: epages/xxx.sf/de_DE/?ObjectPath
$ratingurl: %3D%2FShops%2F15456062%2FProducts%2F%2522Briefkastenst%25C3%25A4nder%2520Bobiround%2522%2FSubProducts%2F%2522Briefkastenst%25C3%25A4nder%2520Bobiround%2520gr%25C3%25BCn%2520RAL6005%2522%26amp%3B
$viewratings: ViewAction=ViewProductRating
そして最後に、それらを連鎖させます。
$actualurl = $domainroot.$objectpath.$ratingurl.$viewratings;