0

次のようなPHPのスクリーンスクレイプコードがあります。

<?
$url = 'https://www.google.nl/search?q=cars';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>

次のようにプロキシをフェッチできる Jquery(ajax) スクリプトもあります。

$.get('ThePhpFile.php', function(data){

     $(data).appendTo('div')

}

すべてが正常に機能していますが、URL を変数としてスクレイピングするように設定したいと思います。これは、実際には親ドキュメントの入力の値です (iframe を使用しています)。私はJqueryでこれを行う方法を知っています:

var TheUrl = $("input", parent.document.body).val();

私の質問は、PHP コードで動作するように変数を設定する方法です。PHPコードに入れる必要はありますか?それ、どうやったら出来るの?

4

1 に答える 1

1

変数を php に ajax する必要があります。

これにより、 ?url=..... が php に送信されます

完全な例のデモ

<html>
<head>
<title>Search Proxy</title>
<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script>
<script>
$(function() {
  $("#search").on("submit",function(e){
    e.preventDefault();
    $.get('searchproxy.php', 
     {url:$("#url").val()}, 
       function(data){
         $(data).html('#result');
     });
  });
});
</script>
</head>
<body>
<div>
<form id="search">
<input id="url" type="text" value="" />
</form>
<div id="result"></div>
</body>
</html>

<?php
$url = $url = $_GET["url"]; // you need to add input cleaning
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>
于 2013-03-09T08:58:53.810 に答える