过期域名预定抢注

 找回密碼
 免费注册

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

 火... [複製鏈接]
發表於 2014-10-30 11:10:59 | 顯示全部樓層
$matches是一個二維數組?                                      F5 ]1 n3 T( O# D" y6 Z' ~* A
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 11:20:53 | 顯示全部樓層
xx19941215 發表於 2014-10-30 10:55 ! i# j( J' j' t( a* P
$i
1 U+ p2 C  R2 e0 c6 k  F. |* [
你的兩個回帖,理解都是正確的。* F  W* d% |5 I0 e6 \

. ^  |7 W) X1 t9 B/ W# S1 [" d: Y1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總數。
: P$ {* Z! e% e8 S' `) e6 s0 }3 Y4 F2 F2 c2 F
2.$matches是一個二維數組。: ]! x  x7 l; `% g4 t9 L, G

/ X# _, s8 H% }# d8 F
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 11:49:20 | 顯示全部樓層
kevinmy 發表於 2014-10-30 11:20 % `' T9 `5 [' u/ j; b' [! k
你的兩個回帖,理解都是正確的。2 x0 |$ w8 \9 Z9 ~8 @7 p+ M0 u& s

& A* w3 _: Y4 s9 f( ]. N8 T1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總 ...

7 n' I: m) U% j* s保存的為啥是個二維數組呢、?
$ C# L3 v! h* {. `2 z
- k1 l6 d$ Q- l5 X0 y) G5 Q5 E
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 12:42:21 | 顯示全部樓層
感謝分享                                   
, W$ s# |7 e4 c) T. @
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 13:16:02 | 顯示全部樓層
[mw_shl_code=php,true]<?php
3 |+ d  Y2 E1 E, D! xset_time_limit(0);//設置程序執行時間
! D! z: C( A# ^! E) g% C* vheader("Content-Type: text/html; charset= utf-8"); //設置頁面的編碼,不設置會亂碼
( C9 k8 R0 w0 x! Y2 g6 F3 h8 U9 g% {! c: ~
$url="http://www.luosuo.net/old/forum-4-1.html";
/ M" Z' `1 p; Q$ j! w2 k+ Y$ch = curl_init($url);//初始化
3 H6 l1 ^  o4 P" T9 ?5 icurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的內容我們是作為變量儲存, 而不輸出,所以這裡選1. 6 j  y0 M( {7 T+ V6 W
$contents = curl_exec($ch);// 運行cURL,請求網頁 & m8 l1 r  p! Y- |: o
preg_match_all('{<a href="([^"]+)"  target="_blank">(.*)</a>}',$contents,$matches);//正則匹配想要的內容 4 Z1 B3 ?# Y) }
curl_close($ch);// 關閉URL請求
! L; ]7 \9 u/ r' Dprint_r($matches);
6 T% p. [9 X1 }  D# U: lfor ($i=0;$i<count($matches[1]);$i++)//for循環結構很常用,這裡的作用是循環記錄總數的的次數,每次循環中可以任意處理採集到的內容 " j8 q6 y# \6 H+ B
{
4 ~+ w- ]- p! B6 O# }$title = $matches[2][$i]; 9 F, N$ b. V. Y5 r$ w% W, ~
$geturl = $matches[1][$i]; 2 Q! ^' @, |) e. f/ n
echo "我要的標題是:" . $title. "<br/>" . "對應的網址是:" . $geturl . "<br/><br/><br/>"; ' w5 g3 N  F! r  L0 x7 Z: {& u
} 2 E  q0 n& |" F1 Z
?>[/mw_shl_code]
  ?1 `- |: |- p+ y: ?: g& J
$ ~. S4 k0 i  }+ z* a這是我測試的代碼,怎麼出現了這個" Z5 w; }. M9 [5 M
2014-10-30_131545.jpg ( d% Q& `1 S4 A( D: ]% \
/ M" R0 B% W7 D0 T7 J& _
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 15:11:50 | 顯示全部樓層
xx19941215 發表於 2014-10-30 13:16
; g0 k# `; R, |1 P0 |這是我測試的代碼,怎麼出現了這個
5 q' _- u4 |! [- ^) I
看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出來了,直接在瀏覽器上看會比較亂,你點擊鼠標右鍵選擇查看源代碼,在那裡面數組的結構清晰,你就能看出來,輸出的是個二維數組了。8 ~' x0 s9 `6 t9 Z0 k
9 H* g; D  _+ y% \0 G
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:09:37 | 顯示全部樓層
kevinmy 發表於 2014-10-30 15:11
* f  k: G% v3 ]3 p看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出 ...
& u2 V1 V+ p; l7 i, v% C. |
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php
9 O6 [* c2 x. z+ u8 K1 ^3 v6 @2 c  ]9 o8 \
怎麼用for打印出像表格那樣的格式呢?
- c2 [2 e4 y. G6 r
" e5 L0 h* @3 o' r3 {9 E* u7 P; Q& i- c8 y  o" `' S0 L
" v9 P# }! C1 @' O0 h4 K* [* f% ~6 N

! V+ `% Z+ f9 o" c
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:58:45 | 顯示全部樓層
目前為止還只停留在火車頭的階段,樓主高手啊
6 C% ]8 d" X$ r4 L
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 17:30:13 | 顯示全部樓層
會寫代碼的話就很簡單啦
* m. b; f7 ], K
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 20:29:46 | 顯示全部樓層
xx19941215 發表於 2014-10-30 16:09 $ _  T3 ?: k+ o( P) l$ L
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php ; S" R4 u' F3 _1 \/ @, F

( D' n7 x+ C6 X1 i  p+ G怎麼用for打印出像表格那樣的格式呢?

5 s( v3 S$ M) f" i) J給你個思路,用div+css可以實現,如果暫時不會,也可以先使用HTML的<table> 標籤來實現功能。
  ^) \/ f; J* `/ e0 H- t* S+ e
回復 给力 爆菊

使用道具 舉報

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

本版積分規則

點基

GMT+8, 2026-2-3 13:54

By DZ X3.5

小黑屋

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