过期域名预定抢注

 找回密碼
 免费注册

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

 火... [複製鏈接]
發表於 2014-10-30 11:10:59 | 顯示全部樓層
$matches是一個二維數組?                                    ! ~  x$ H6 S. X- o! u8 U
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 11:20:53 | 顯示全部樓層
xx19941215 發表於 2014-10-30 10:55
* l( s; z  f& w/ j) z( ?$i
6 }9 i& W7 M" o
你的兩個回帖,理解都是正確的。
" E4 Q* C8 y3 e( C/ H5 ~8 }/ T: l  @: W
1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總數。! v. v$ h  x5 r
+ ]+ ?8 |: ?8 f1 a+ s: a# l5 x
2.$matches是一個二維數組。  ~! @& \; N/ f' [* O3 x
7 u/ [6 }* Z! K& R! |
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 11:49:20 | 顯示全部樓層
kevinmy 發表於 2014-10-30 11:20 $ t: ?1 F/ y, m
你的兩個回帖,理解都是正確的。
" R( [" {# V. N6 R! j5 l; d
2 `# f, o$ ^3 `0 R5 w: G1 b5 A1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總 ...

+ `3 `0 ]  x* p# M5 v" E# L保存的為啥是個二維數組呢、?
; I& D7 J+ h( K  @( q* _9 T
# G2 _  K/ |( C" d
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 12:42:21 | 顯示全部樓層
感謝分享                                   
. _# }9 |; H! z7 p/ ?/ }
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 13:16:02 | 顯示全部樓層
[mw_shl_code=php,true]<?php 4 p5 g2 x9 p$ V$ y7 o- v0 K# g# e
set_time_limit(0);//設置程序執行時間 / c2 ~4 K2 B. w) P2 w. p9 O' z- O* d
header("Content-Type: text/html; charset= utf-8"); //設置頁面的編碼,不設置會亂碼
2 c3 h" O$ D: j) d: l+ M( b' J$ f/ F: G6 [3 N, h0 H, v
$url="http://www.luosuo.net/old/forum-4-1.html";
8 [1 V4 d3 E/ x. k3 H$ch = curl_init($url);//初始化 & u, F) Q+ X3 @. W# q$ F2 h9 l
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的內容我們是作為變量儲存, 而不輸出,所以這裡選1. / N3 i+ Y2 E' m) b1 v
$contents = curl_exec($ch);// 運行cURL,請求網頁 5 k5 V# U$ X# i- V  C
preg_match_all('{<a href="([^"]+)"  target="_blank">(.*)</a>}',$contents,$matches);//正則匹配想要的內容 + x8 `' F; `' O+ v3 {0 R/ I
curl_close($ch);// 關閉URL請求
5 J- J8 a7 K# Cprint_r($matches);2 t0 J1 A- Z+ q2 t5 K6 R
for ($i=0;$i<count($matches[1]);$i++)//for循環結構很常用,這裡的作用是循環記錄總數的的次數,每次循環中可以任意處理採集到的內容 / R+ T! e% ~1 P. h
{ 7 y, W8 I* s/ z" h  ]
$title = $matches[2][$i]; 9 R8 z4 u: d& q& C; o4 W
$geturl = $matches[1][$i];
: d- r3 z6 W$ s! q6 eecho "我要的標題是:" . $title. "<br/>" . "對應的網址是:" . $geturl . "<br/><br/><br/>"; 0 }8 C5 m! L# S" h& A; C" f4 A- C
}
4 l" u/ n6 f1 r% S; f$ V' ?- i?>[/mw_shl_code]
% D- \, z3 i+ d# S7 r
) i  [4 `1 g  l2 q1 s) W這是我測試的代碼,怎麼出現了這個
" _1 i0 B8 G  q3 G- Y. W7 H 2014-10-30_131545.jpg # V( @: v' X* e% ?. B. ^! {$ M# \* B5 ?

/ S3 u3 v- g. S2 p
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 15:11:50 | 顯示全部樓層
xx19941215 發表於 2014-10-30 13:16
% q/ A; X1 m1 \; M4 A$ p這是我測試的代碼,怎麼出現了這個

( {+ a. ]1 R" A7 f4 q* q看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出來了,直接在瀏覽器上看會比較亂,你點擊鼠標右鍵選擇查看源代碼,在那裡面數組的結構清晰,你就能看出來,輸出的是個二維數組了。+ Q8 x3 A. H4 _7 \6 |/ u8 q* R

. C# X5 i" f* n. F. ?
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:09:37 | 顯示全部樓層
kevinmy 發表於 2014-10-30 15:11 8 Z$ P/ b/ v1 l0 S% F5 f
看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出 ...
) E/ p7 X/ L; n7 I- o
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php 6 K8 i8 U% [" G! I2 N

7 p3 S! }7 @' q' f. M怎麼用for打印出像表格那樣的格式呢?" r4 C  g! l  E( B6 y5 Z

: d' l+ o6 M* M. B8 [( g& J4 J, f/ I

+ X( s3 ~/ ^# K8 V3 O8 T+ R
+ {, Y( D( \9 X7 j
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:58:45 | 顯示全部樓層
目前為止還只停留在火車頭的階段,樓主高手啊  |* x9 |$ r# U
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 17:30:13 | 顯示全部樓層
會寫代碼的話就很簡單啦
. J1 Q2 p! R% R) p+ t8 Q+ ~
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 20:29:46 | 顯示全部樓層
xx19941215 發表於 2014-10-30 16:09 ' ~7 O& x3 ~( T8 C
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php 1 L2 i. B! r: ~# L! c
- z1 W. s8 C; g
怎麼用for打印出像表格那樣的格式呢?

- s0 I2 B2 O0 b* \" w. u6 d給你個思路,用div+css可以實現,如果暫時不會,也可以先使用HTML的<table> 標籤來實現功能。8 N/ Y( J# y9 h) n( t/ W
回復 给力 爆菊

使用道具 舉報

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

本版積分規則

點基跨境 數位編輯創業論壇

GMT+8, 2025-7-7 02:52

By DZ X3.5

小黑屋

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