Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung von jquery + thinkphp zur domänenübergreifenden Datenerfassung

Detaillierte Erläuterung von jquery + thinkphp zur domänenübergreifenden Datenerfassung

墨辰丷
墨辰丷Original
2018-06-01 09:06:301254Durchsuche

In diesem Artikel wird hauptsächlich die Methode von jquery + thinkphp zur domänenübergreifenden Datenerfassung vorgestellt und die zugehörigen Betriebsfähigkeiten von thinkPHP in Kombination mit jQuerys Ajax zur domänenübergreifenden Datenerfassung in Form von Beispielen analysiert beziehen Sie sich darauf

Heute werden wir eine Funktion zur Remote-Erfassung von Daten erstellen. Denken Sie daran, dass JQuery zur Remote-Erfassung von Daten mit Ajax verwendet werden kann, aber nicht domänenübergreifend verwendet werden kann. Ich habe viel online gefunden. Ich denke jedoch, dass es besser ist, eine umfassende Lösung zu erstellen. Daher halte ich es jetzt für etwas kompliziert, ein einfaches Problem zu lösen, aber zumindest ist es vorerst gelöst:

Die Auswirkung des domänenübergreifenden Crawlens von Daten in die lokale Datenbank und dann asynchrone Aktualisierung

Die Art und Weise, wie ich es umsetze: $.post von jquery sendet Daten an den Serverhintergrund, und der PHP-Code im Hintergrund führt einen Fernabruf durch, speichert sie in der Datenbank, Ajax gibt zurück die Daten an die Rezeption, und die Rezeption verwendet JS, um die Daten zu akzeptieren und anzuzeigen.


//远程抓取获取数据
 $("#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";
});


Der obige JQuery-Code ist im vierten Stock relativ klar, was mich stört, ist der Empfang von JSON-Daten


json = eval("(" + $data + ")");
//eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。


Eigentlich ist dies immer noch die Rezeption, und das domänenübergreifende Crawlen erfolgt mit der PHP-Erweiterung simple_html_dom (wenn Sie sich nicht sicher sind, können Sie sich anmelden). kann online suchen, entwickelt auf Basis von PHP5)

Remote-Seiten lokal erfassen.


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; //返回数据了。


Der obige Code ist nur der Kerncode, simple_html_dom verfügt über viele erweiterte Funktionen. Finden Sie es selbst heraus.

Die zurückgegebenen Daten sind eine Zeichenfolge. Anschließend werden reguläre Ausdrücke verwendet, um die erforderlichen Daten zu filtern.

Zusammenfassung: Das Obige ist Folgendes Der gesamte Inhalt dieses Artikels soll für das Studium aller hilfreich sein.

Verwandte Empfehlungen:

So implementieren Sie die Benutzerregistrierungs- und Anmeldefunktion in PHP

php Beurteilung umsetzen Client-Typ

phpExcel-Datei generieren und lesen_phpInstanz



Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von jquery + thinkphp zur domänenübergreifenden Datenerfassung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn