过期域名预定抢注

 找回密碼
 免费注册

從0開始學採集------中級篇:使用Curl抓取網頁內容

 火... [複製鏈接]
發表於 2014-10-30 11:10:59 | 顯示全部樓層
$matches是一個二維數組?                                    4 H: z1 N4 H# N# j& h4 B
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 11:20:53 | 顯示全部樓層
xx19941215 發表於 2014-10-30 10:55
$ t$ x3 a( E6 f5 ~% L, n5 h$i
* ~- V' L2 z. D3 G! ?
你的兩個回帖,理解都是正確的。
: l* J4 r' S/ Z( M6 U) J
1 j1 `8 @% T9 ]% H8 W1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總數。
9 [5 {  F% o/ b' {& n# o/ B
0 |- a$ N* _0 z/ m9 Y! I1 G) e" m2.$matches是一個二維數組。
7 N5 d4 T" ]* C
% |2 ^. G7 t& ?; [9 c' e) B
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 11:49:20 | 顯示全部樓層
kevinmy 發表於 2014-10-30 11:20 5 h! A! M0 K# C2 a0 Q4 V" O
你的兩個回帖,理解都是正確的。) k5 H( y/ v& W/ ~2 r( z

1 `: T  f/ t8 U4 h' }8 n( ]1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總 ...

8 D5 Q& f6 W5 G' [3 q保存的為啥是個二維數組呢、?( h; a+ z, |- w4 v9 D2 n# z6 h, B
( c+ L1 G2 d/ X0 w
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 12:42:21 | 顯示全部樓層
感謝分享                                   $ Y0 `2 n" U6 z
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 13:16:02 | 顯示全部樓層
[mw_shl_code=php,true]<?php
5 J+ }" [$ O" r1 F7 b: }set_time_limit(0);//設置程序執行時間 # O* u8 B! y) c, O5 ^8 U( l
header("Content-Type: text/html; charset= utf-8"); //設置頁面的編碼,不設置會亂碼
! M% T+ y+ Z# d4 ~" K. J: D
' p4 u0 N# E$ ^. x) l7 }$url="http://www.luosuo.net/old/forum-4-1.html"; / J+ t( p$ j; H/ P& f) O
$ch = curl_init($url);//初始化 3 _2 Q4 r# u$ n/ v+ K" ?# Q
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的內容我們是作為變量儲存, 而不輸出,所以這裡選1. + R0 J& ~9 C& c& f
$contents = curl_exec($ch);// 運行cURL,請求網頁 ; ]9 k5 C$ _7 @
preg_match_all('{<a href="([^"]+)"  target="_blank">(.*)</a>}',$contents,$matches);//正則匹配想要的內容 ' v' M& ^6 q6 u) ?0 I; N$ F" D# u- ~8 w
curl_close($ch);// 關閉URL請求 5 m# `% K0 C( J* ^
print_r($matches);
+ m$ D) a8 ]( G( S- ?$ _for ($i=0;$i<count($matches[1]);$i++)//for循環結構很常用,這裡的作用是循環記錄總數的的次數,每次循環中可以任意處理採集到的內容
# Y" {; Z# D8 n5 l{   `& l4 Q/ A! q3 t9 `- }- @$ l, E
$title = $matches[2][$i]; " p% R5 L! B% j8 }4 S- ~: q
$geturl = $matches[1][$i];
4 q0 w* z) i! hecho "我要的標題是:" . $title. "<br/>" . "對應的網址是:" . $geturl . "<br/><br/><br/>";
% h7 o* n2 v1 l: G# D}   N6 t; f/ ^0 p) d3 [' D
?>[/mw_shl_code]
) Z* s7 D; z, M3 w9 p
: S' `* {3 F6 n( M, _, F+ @這是我測試的代碼,怎麼出現了這個! j8 T( i7 T6 p, O5 W) q
2014-10-30_131545.jpg 4 E- c. K8 v; @# @/ I7 Q4 F

) D' R( U3 F+ c/ n% k
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 15:11:50 | 顯示全部樓層
xx19941215 發表於 2014-10-30 13:16 # S4 u& p% M- V0 E6 w4 K6 Z9 d
這是我測試的代碼,怎麼出現了這個

! f0 `$ h: o. [' q6 W6 L看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出來了,直接在瀏覽器上看會比較亂,你點擊鼠標右鍵選擇查看源代碼,在那裡面數組的結構清晰,你就能看出來,輸出的是個二維數組了。, W- c0 K+ K* P/ G

# H( N" y5 Y8 S* C
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:09:37 | 顯示全部樓層
kevinmy 發表於 2014-10-30 15:11 : b3 u/ ?5 s8 u! z8 ^* M
看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出 ...

/ c; q& G# O9 W) g9 o那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php   d2 |% D7 R9 J5 w) h$ Y0 m

5 ~: }3 ~' ?. ?9 U怎麼用for打印出像表格那樣的格式呢?
0 E8 i. {0 b" Z3 x  N3 g1 l$ }) v0 N

& u( ?3 i; s; I1 ^# J, t" h1 R" j$ |4 J- I( x& M7 H

5 I/ N) x9 Q% \" _! s& v
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:58:45 | 顯示全部樓層
目前為止還只停留在火車頭的階段,樓主高手啊
! V+ J, Z9 U5 `/ B
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 17:30:13 | 顯示全部樓層
會寫代碼的話就很簡單啦
+ v2 B" |5 }2 h' T
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 20:29:46 | 顯示全部樓層
xx19941215 發表於 2014-10-30 16:09 , p- g4 L8 ^+ `# w: t7 a2 K; M! G
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php
% _5 f: s" h2 V, _2 G1 C
# m1 M/ ~1 _2 x怎麼用for打印出像表格那樣的格式呢?

" I8 C5 R9 t: Z/ L2 T, |給你個思路,用div+css可以實現,如果暫時不會,也可以先使用HTML的<table> 標籤來實現功能。. ]: }; p* m, S: s1 A7 H- U
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基

GMT+8, 2025-11-5 10:18

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表