过期域名预定抢注

 找回密碼
 免费注册

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

 火... [複製鏈接]
發表於 2014-10-30 11:10:59 | 顯示全部樓層
$matches是一個二維數組?                                    
# `$ m# n8 t6 _- a) u$ ^
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 11:20:53 | 顯示全部樓層
xx19941215 發表於 2014-10-30 10:55 3 c1 `% J. j  u* x* z
$i

0 u/ G8 G' _0 b( A& \  o你的兩個回帖,理解都是正確的。
8 E; l$ h" m$ H0 f1 z9 k
5 N7 t( d" K- L% p( H1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總數。# t8 ?% n1 v" q/ V- A7 I

1 V8 u3 ^3 H( ^0 d, g2.$matches是一個二維數組。2 h% g( u6 h1 m1 R8 Y
8 t2 E: r$ A+ ?& u3 j& ?5 ~
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 11:49:20 | 顯示全部樓層
kevinmy 發表於 2014-10-30 11:20
0 }( W: `- \% H$ {你的兩個回帖,理解都是正確的。
* ?+ H# M7 M' @0 B) H( `
  c3 v3 u( w) s9 z9 I/ P1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總 ...

: t1 f, Z9 o2 X# A; Z! F1 O; s  F保存的為啥是個二維數組呢、?: u+ v0 ]' e! ~2 S: v# ~, u

- F, h+ j9 p* e
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 12:42:21 | 顯示全部樓層
感謝分享                                     T8 V4 u/ T, K3 o# \  D
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 13:16:02 | 顯示全部樓層
[mw_shl_code=php,true]<?php " V9 L( I, j8 r% q" x
set_time_limit(0);//設置程序執行時間 / H$ Q- ?& F7 i8 d+ A
header("Content-Type: text/html; charset= utf-8"); //設置頁面的編碼,不設置會亂碼
" M5 V4 X& ]7 N7 |
+ A8 V3 u3 G( S$url="http://www.luosuo.net/old/forum-4-1.html"; # Z" {& F; [5 v* p; }8 m) z
$ch = curl_init($url);//初始化 2 q: \8 p+ a7 [( r
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的內容我們是作為變量儲存, 而不輸出,所以這裡選1.
5 \: ~- h3 P& L; p% A$contents = curl_exec($ch);// 運行cURL,請求網頁
8 x' K. j! K; U6 W& w) Z- D! `preg_match_all('{<a href="([^"]+)"  target="_blank">(.*)</a>}',$contents,$matches);//正則匹配想要的內容
- F( _1 x. G4 o% |curl_close($ch);// 關閉URL請求
: ^; e/ t0 d6 l( A6 \$ Xprint_r($matches);
4 e6 K7 I+ Z. Q: Z; B! }for ($i=0;$i<count($matches[1]);$i++)//for循環結構很常用,這裡的作用是循環記錄總數的的次數,每次循環中可以任意處理採集到的內容 : A: f# g9 h. x0 r
{ ; ]! x5 r' r+ {5 u  Q
$title = $matches[2][$i]; 4 m! \- K! c. a: O
$geturl = $matches[1][$i];
, R& l) Q5 t/ O2 wecho "我要的標題是:" . $title. "<br/>" . "對應的網址是:" . $geturl . "<br/><br/><br/>";
: W* c/ v! b0 {1 R  z4 b} 5 B" d, m& R2 ^. G
?>[/mw_shl_code]
: @* d) g% D. v$ S' ]3 Y: j7 z2 m( Y" C9 I- X
這是我測試的代碼,怎麼出現了這個
, u3 C( x* j* X! g! a/ o# d- f 2014-10-30_131545.jpg 4 h& T- c: y2 q' A6 _% M" o+ p" I

2 \: a2 E  a% _6 R
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 15:11:50 | 顯示全部樓層
xx19941215 發表於 2014-10-30 13:16
& H6 s* _0 e/ t* o! H8 z這是我測試的代碼,怎麼出現了這個
. [  G( t+ J9 m! s
看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出來了,直接在瀏覽器上看會比較亂,你點擊鼠標右鍵選擇查看源代碼,在那裡面數組的結構清晰,你就能看出來,輸出的是個二維數組了。+ r5 F% n0 i' _+ @  z6 O' b" S% O
& G# N* C4 f) O% c( H. E$ J' p$ c$ B
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:09:37 | 顯示全部樓層
kevinmy 發表於 2014-10-30 15:11
( A1 T4 @4 @; k# T& |看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出 ...
3 K0 v: G6 y' c6 g9 a, v
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php ! k- E6 ^0 `( z/ {. w

: H/ a0 g% O+ O8 [. l怎麼用for打印出像表格那樣的格式呢?
* [- K: v& D8 ]" n; Q' W! t
6 p9 v* {. D! `7 B; }
1 W* b+ d# t, f9 E) F
8 R: L1 I7 E5 U& B+ d& D, z8 Y% r$ n6 v# `
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:58:45 | 顯示全部樓層
目前為止還只停留在火車頭的階段,樓主高手啊0 ]( v. S& B+ k6 n- N9 p  j4 o
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 17:30:13 | 顯示全部樓層
會寫代碼的話就很簡單啦- P) P3 W' `* `7 H
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 20:29:46 | 顯示全部樓層
xx19941215 發表於 2014-10-30 16:09
+ a2 }) `/ x& s/ `+ c那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php
7 a* z( P3 o& m+ z! a' J( f, G4 A0 b2 L' Z/ d8 ^& X. `" n5 }
怎麼用for打印出像表格那樣的格式呢?
: V$ C0 d, K* \" k, x. s  y
給你個思路,用div+css可以實現,如果暫時不會,也可以先使用HTML的<table> 標籤來實現功能。
8 ^/ a$ j5 h% G0 a  D$ L5 q
回復 给力 爆菊

使用道具 舉報

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

本版積分規則

點基

GMT+8, 2026-7-6 09:25

By DZ X3.5

小黑屋

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