>백엔드 개발 >PHP 튜토리얼 >PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개

PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개

零到壹度
零到壹度원래의
2018-04-11 17:27:386076검색

이 기사에서 공유한 콘텐츠는 PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개입니다. 이는 특정 참조 가치가 있습니다. 필요한 친구가 이를 참조할 수 있습니다.

php+js가 웹 콘텐츠를 크롤링하는 방법을 먼저 참조하세요. 다음 효과를 얻으려면

PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개

?

우리는 항상 Python만이 웹 페이지 콘텐츠를 크롤링할 수 있다고 생각했습니다. 왜냐하면 Python 자체에는 웹 페이지 크롤링에 매우 편리한 라이브러리가 많이 있기 때문입니다. 하지만 우리가 PHP+js를 사용하는 방법도 매우 편리하고 원하는 것을 얻을 수 있습니다. . 웹 콘텐츠이므로 복잡할 필요가 없습니다.

먼저 전체 웹사이트의 HTML을 가져오기 위한 요청을 시뮬레이션하려면 PHP가 필요합니다

  // 允许所有域访问
  header("Access-Control-Allow-Origin: *");
  / 接收一个参数,参数名叫parm
  $parm=$_GET['mod'];
  if (empty($parm)) {  
    $url = 'http://m.80s.tw/';//PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개
    $html = file_get_contents($url);
}else{  
  $url = 'http://m.80s.tw/'.$parm;    
  $html = file_get_contents($url);
} 
    preg_match("/<body[^>]*?>(.*\s*?)<\/body>/is",$html,$match1);//正则匹配body里面的内容
    echo $match1[0];//输出网页
참고: file_get_contents 오류가 발생하는 경우 php.ini에서 Extension=php_openssl.dll을 찾아서 켜십시오. 괜찮을 거예요

그런 다음 그것을 가져오는 프런트 엔드입니다. 데이터가 처리됩니다

먼저 비동기 요청을 작성하세요

$.ajax({ 
        type:&#39;get&#39;,
        url: &#39;.././admin/test.php&#39;,
        success: function(data) {
        console.log(data)//可以看到获取的HTML,很简单吧,很兴奋吧
        }
    });

HTML을 얻은 후에는 원하는 대로 무엇이든 할 수 있습니다

이 HTML을 어떻게 사용하나요? 이것이 문제입니까? 아니요
        //首先创建一个容器
        var p = document.createElement(&#39;p&#39;);        
        // 把整个html的字符串存到这个p节点里
        p.innerHTML = data;        
        //然后就可以对p一顿检查了
        //比如获取类list_mov_title下所有的a标签
        var list = p.querySelectorAll(&#39;.list_mov_title a&#39;);        
        //赶紧打印出来看一下
        console.log(list)        
        //想要的东西都在吧
        //然后就把想要的东西往自己的页面里面塞吧

이제 웹 콘텐츠 크롤링 튜토리얼이 끝났습니다. 이해가 안 되시면 메시지를 남겨주세요

위 내용은 PHP+JavaScript가 웹 콘텐츠를 크롤링하는 방법에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.