1

誰かが何かを言ったり「ジャンプ」したりする前に、私は読んだことを言いたい:

これは私の機能です:

  function UolgetHtmlfromAjaxCallback($a_Params,$url) {

  $EVENTTARGET = $this->UolgetAtributoEventTarget($a_Params['s_EventTarget']);
  $s_smMaster = 'ctl00$cphSite$upModelo|'.$entries['target'];
  $VIEWSTATE = urlencode($a_Params['s_ViewState']);

  $options = array(
    CURLOPT_RETURNTRANSFER => true, // return web page
    CURLOPT_HEADER => false, // don't return headers
    CURLOPT_FOLLOWLOCATION => true, // follow redirects
    CURLOPT_ENCODING => "", // handle all encodings
    CURLOPT_USERAGENT => "spider", // who am i
    CURLOPT_AUTOREFERER => true, // set referer on redirect
    CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
    CURLOPT_TIMEOUT => 120, // timeout on response
    CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => 'ct100%24smMaster='.urldecode($s_smMaster).
                          '&__EVENTTARGET='.urlencode($EVENTTARGET['target']).
                          '&__EVENTARGUMENT='.urlencode('').
                          '&__EVENTVALIDATION='.urlencode($s_Eventvalidation).
                          '&__VIEWSTATE='.$VIEWSTATE.
                          '&ct100%24txtBuscaNome='.$a_Params['ctl00_txtBuscaNome'].
                          '&__ASYNCPOST=true'
                          );

  $ch = curl_init( $url );
  curl_setopt_array( $ch, $options );
  $result = curl_exec ($ch);

  return $result;
  }

$VIEWSTATE問題$EVENTTARGETありません。 は次の値を持つ配列です。

Array ( 
 [id] =>          ctl00_cphSite_fichaTecnicaEditorial_rptCarrosFichaTecnica_ctl00_lbtnFichaTecnica 
 [target] => ctl00$cphSite$fichaTecnicaEditorial$rptCarrosFichaTecnica$ctl00$lbtnFichaTecnica ) 

このコードを使用して、この Web サイトをスクレイピングしようとしています。

http://comparecar.uol.com.br/Modelo/Volvo-Xc60

そして、私はウェブサイトを取得しますが、車の情報は取得しません。

自分の情報を編集します。

私は改ざんデータを扱っていますが、投稿で異なるパラメーターが使用されていることがわかりました。

  • ctl00%24smMaster
  • __EVENTTARGET
  • __EVENTARGUMENT
  • __VIEWSTATE
  • __EVENTVALIDATION
  • ctl00%24txtBuscaNome
  • __ASYNCPOST

そして「=」で閉じます

4

0 に答える 0