jquery+thinkphp는 도메인 간 데이터 크롤링 방법을 구현합니다.

高洛峰
풀어 주다: 2023-03-04 18:14:02
원래의
1385명이 탐색했습니다.

이 기사의 예에서는 교차 도메인 데이터 캡처를 달성하기 위한 jquery+thinkphp 방법을 설명합니다. 참고로 자세한 내용은 다음과 같습니다.

오늘은 원격 데이터 캡처 기능을 만들어 보겠습니다. 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에는 많은 확장 기능이 있습니다. 스스로 알아보세요.

반환된 데이터는 문자열이며 정규식을 사용하여 필요한 데이터를 필터링합니다. 다음은 렌더링입니다.

jquery+thinkphp는 도메인 간 데이터 크롤링 방법을 구현합니다.

이 글이 도움이 되기를 바랍니다. ThinkPHP 프레임워크를 기반으로 한 모든 사람의 PHP 프로그래밍은 도움이 됩니다.

jquery+thinkphp가 도메인 간 데이터 캡처를 구현하는 방법에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿