> 백엔드 개발 > PHP 튜토리얼 > PHP采集网页信息

PHP采集网页信息

WBOY
풀어 주다: 2016-06-13 11:15:05
원래의
1267명이 탐색했습니다.

【求助】PHP采集网页信息
需要采集 
http://bbs.zhanzhang.baidu.com/home.php?mod=space&uid=*
不同UID的用户名
不熟悉PHP以及正则,只是单纯的想要结果,所以麻烦直接给出PHP代码和前1000个UID的用户名,谢谢。

php
------解决方案--------------------
$html = file_get_contents('http://bbs.zhanzhang.baidu.com/home.php?mod=space&uid=1');<br />preg_match('@<h2 class="xs2">(.*?)<\/h2>@',$html,$match);<br />//var_dump($match);<br />echo strip_tags($match[0]);
로그인 후 복사

理论上uid是自增的,前1000个就是1-1000,数字自己换吧。
------解决方案--------------------
$url = 'http://bbs.zhanzhang.baidu.com/home.php?mod=space&uid=';<br /><br />$res = array();<br />$uid = 1;<br />while(count($res) < 20) { //获取前20个,自己根据需要修改<br />  if(preg_match('/<h2.+?h2>/s', file_get_contents($url.$uid), $r)){<br />    if(preg_match_all('/\w+/', strip_tags($r[0]), $r) == 3) {<br />      $res[$r[0][2]] = $r[0][0];<br />    }<br />  }<br />  $uid++;<br />}<br />print_r($res);<br />
로그인 후 복사
结果:(关联键为UID,值为用户名)

Array
(
    [1] => sitemapbbs
    [7] => _
    [8] => sitemapTest2
    [9] => sitemapTest
    [10] => sitemapTest32
    [13] => sitemapTest3
    [14] => kkksuper
    [16] => 05
    [17] => caoli456
    [18] => wangbin_ivan
    [19] => geiwosou
    [20] => sitemap_test1
    [21] => sitemap_test5
    [22] => _
    [23] => lkmmmmj
    [24] => blackfox1983
    [25] => dongbei_wb
    [26] => xyzlinger
    [27] => sanwushuosi
    [28] => 007
)

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