クロスドメインデータキャプチャを実現するjquery+thinkphpの詳細説明

墨辰丷
リリース: 2023-03-28 19:30:02
オリジナル
1253 人が閲覧しました

この記事では、クロスドメイン データ キャプチャを実現するための jquery+thinkphp の方法を主に紹介し、thinkPHP と jQuery の ajax を組み合わせてクロスドメイン データ キャプチャを実現する関連操作スキルをサンプルの形式で分析します。データをリモートでクロールする機能 jquery は Ajax を使用してリモートでクロールできますが、ドメインを越えることはできないことに注意してください。ネットでたくさん見つけました。しかし、包括的なものを行う方が良いと考えているので、単純な問題が複雑になっているように感じますが、少なくとも今のところは解決されました:


ドメイン間のデータをローカルデータベースに取得し、その後、非同期で更新します

私が実装した方法: jquery の $.post がデータをサーバーのバックグラウンドに送信し、バックグラウンドの PHP コードがリモートフェッチを実行してデータベースに保存し、ajax がデータをフロントデスクに返します。フロントデスクはJSを使用してデータを受け取り、それを表示します。

//远程抓取获取数据
 $("#update_ac").click(function() {
      $username = $("#username").text();
      $("#AC,#rank,#Submit,#solved,#solved2,#solved3").ajaxStart(function(){
        $(this).html("<span class=&#39;loading2&#39;>   </span>");
      });
      $.post("update_ac/username/"+$username,{},function($data){
        json = eval("(" + $data + ")");
        $("#Submit").html(json.data.Submit);
        $("#AC").html(json.data.AC);
        $("#solved,#solved2,#solved3").html(json.data.solved);
        $("#rank").html(json.data.rank);
       }
      ),"json";
});
ログイン後にコピー


上記のjqueryコードは4階で比較的明確ですが、私が気になるのはjsonデータの受信です

json = eval("(" + $data + ")");
//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
ログイン後にコピー


実際、これはまだフロントデスクであり、クロスドメインクロールは、PHP拡張機能simple_html_domを使用して完了します(よくわからない場合は、オンラインで検索できます。PHP5に基づいて開発されています)

リモートページをローカルにキャッチします。

import("@.ORG.simple_html_dom");
//thinkphp内导入扩展,你要把网上下载的代码改名为simple_html_dom.class.php放到APPNAME\Lib\ORG的目录下面
$html = file_get_html(&#39;http://openoj.awaysoft.com/JudgeOnline/userinfo.php?user=&#39;.$username); //远程抓取了
$ret = $html->find(&#39;center&#39;,0)->plaintext; //返回数据了。
ログイン後にコピー


上記のコードは単なるコアコードであり、simple_html_dom は多くの機能を拡張します。自分で調べてください。

返されるデータは文字列であり、正規表現を使用して必要なデータをフィルタリングします。以下はレンダリングです

概要: 上記がこの記事の全内容です。皆様のお役に立てれば幸いです。学習のお手伝い。

関連する推奨事項:

ユーザー登録とログイン機能を実装するPHPメソッド


phpクライアントタイプの判定を実装する

phpExcelファイルの生成と読み込み_php



以上がクロスドメインデータキャプチャを実現するjquery+thinkphpの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート