> 백엔드 개발 > PHP 튜토리얼 > php抓取这个页面的内容

php抓取这个页面的内容

WBOY
풀어 주다: 2016-06-23 13:51:38
원래의
920명이 탐색했습니다.


需要抓取的部分已经用红线标出来,
只需要抓取第一页的就可以,
抓取页面:http://www.mafengwo.cn/yj/10206/2-0-1.html
一以前都是用这个类simple_html_dom.php,但是这个我用这个类抓取不出来了


回复讨论(解决方案)

可以用正?提取。

$url = "http://www.mafengwo.cn/yj/10206/2-0-1.html";
$opts = array(
  'http'=>array(
    'timeout'=>10,
    'header'=>"User-Agent: php\r\n" .
              "Cookie: foo=bar\r\n"
  )
);
$context = stream_context_create($opts);
$data = file_get_contents($url,false,$context)

这样可以读取到页面

可以用正?提取。


正则不会啊

没关系,加一个上下文(context)就可以了

include 'simple_html_dom.php';$opts = array(   'http'=>array(     'user_agent' => $_SERVER['HTTP_USER_AGENT']  ) ); $context = stream_context_create($opts); $url = 'http://www.mafengwo.cn/yj/10206/2-0-1.html';$html = file_get_html($url, false, $context);
로그인 후 복사
로그인 후 복사

没关系,加一个上下文(context)就可以了

include 'simple_html_dom.php';$opts = array(   'http'=>array(     'user_agent' => $_SERVER['HTTP_USER_AGENT']  ) ); $context = stream_context_create($opts); $url = 'http://www.mafengwo.cn/yj/10206/2-0-1.html';$html = file_get_html($url, false, $context);
로그인 후 복사
로그인 후 복사



嗯嗯,现在出来了, 输出出来的是上边的内容,但是我区分不出来了,不会用正则把信息分开了

不至于吧?

include 'simple_html_dom.php';$opts = array(   'http'=>array(     'user_agent' => $_SERVER['HTTP_USER_AGENT']  ) ); $context = stream_context_create($opts); $url = 'http://www.mafengwo.cn/yj/10206/2-0-1.html'; $html = file_get_html($url, false, $context);$div = $html->find('div.post-list ul');foreach($div[0]->find('li') as $i=>$item) {  echo $item->find('img')[0]->src, PHP_EOL;  echo trim($item->find('h2')[0]->text()), PHP_EOL;  echo trim($item->find('div')[3]->text()), PHP_EOL;  //echo '**', $item->innertext(), PHP_EOL;}
로그인 후 복사

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