Heim > Backend-Entwicklung > PHP-Tutorial > jquery+thinkphp implementiert eine domänenübergreifende Daten-Crawling-Methode

jquery+thinkphp implementiert eine domänenübergreifende Daten-Crawling-Methode

高洛峰
Freigeben: 2023-03-04 18:14:02
Original
1426 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die Methode von jquery+thinkphp, um eine domänenübergreifende Datenerfassung zu erreichen. Ich möchte es Ihnen als Referenz mitteilen:

Heute werde ich eine Remote-Datenerfassungsfunktion erstellen. Denken Sie daran, dass JQuery zur Remote-Erfassung von Daten mit Ajax verwendet werden kann, dies jedoch nicht domänenübergreifend. Ich habe viel online gefunden. Aber ich denke, es ist besser, eine umfassende Lösung zu erstellen, und jetzt habe ich das Gefühl, dass dadurch ein einfaches Problem verkompliziert, aber zumindest vorerst gelöst wurde:

Die Auswirkung der domänenübergreifenden Erfassung von Daten auf die lokale Ebene Datenbank und aktualisiere sie dann asynchron

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 Remoteabruf durch, speichert sie in der Datenbank und gibt die Daten zurück an die Rezeption über Ajax. 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";
});
Nach dem Login kopieren

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 代码。
Nach dem Login kopieren

Tatsächlich erfolgt das domänenübergreifende Crawlen mit der PHP-Erweiterung simple_html_dom (wenn Sie sich nicht sicher sind, können Sie online suchen, es wurde auf Basis von PHP5 entwickelt)

Crawlen von Remote-Seiten zu lokal .

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

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.

jquery+thinkphp implementiert eine domänenübergreifende Daten-Crawling-Methode

Ich hoffe, dieser Artikel hilft Die PHP-Programmierung, die auf dem ThinkPHP-Framework basiert, ist für jeden hilfreich.

Weitere Artikel darüber, wie jquery+thinkphp die domänenübergreifende Datenerfassung implementiert, finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage