过期域名预定抢注

 找回密碼
 免费注册

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

 火... [複製鏈接]
發表於 2014-10-30 11:10:59 | 顯示全部樓層
$matches是一個二維數組?                                    $ G7 y( r. K- ^8 u$ K( q
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 11:20:53 | 顯示全部樓層
xx19941215 發表於 2014-10-30 10:55
# B, V0 L2 b; x4 {4 F$i

) e5 D0 Q, F8 V$ V8 E: e6 f你的兩個回帖,理解都是正確的。' g* x7 Q5 \7 n7 K2 e7 S

8 q! D* E7 k" c( [2 V; G9 I; P% `1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總數。! A: U/ v% {5 G' L, F9 J
- M& m2 |6 @8 v0 w, J
2.$matches是一個二維數組。
, W; {6 d. i# R" |  L2 g" ^# T4 X0 ~6 W. H4 N  X
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 11:49:20 | 顯示全部樓層
kevinmy 發表於 2014-10-30 11:20
6 {0 }  O# X# P/ Y0 H你的兩個回帖,理解都是正確的。; y( h$ X3 F) m6 K
6 ]7 n( G. |4 l: o2 \
1.count() 函數是計算數組中的單元數目或對像中的屬性個數。用來計算總 ...
0 E" l- b/ Q& o
保存的為啥是個二維數組呢、?2 \7 U5 N: Y5 S. A$ M  V2 {6 l! X
8 ]7 [6 a; X. p0 h. }8 Q
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 12:42:21 | 顯示全部樓層
感謝分享                                   / T1 B: r7 A  W: z& t9 a  q
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 13:16:02 | 顯示全部樓層
[mw_shl_code=php,true]<?php   @  J, O2 A$ ]9 U& k$ ]
set_time_limit(0);//設置程序執行時間 + J9 Z9 u. ?: @! }: f! X7 Z
header("Content-Type: text/html; charset= utf-8"); //設置頁面的編碼,不設置會亂碼 ! \7 i; C2 \; [! f' n" N7 `
8 C9 {- {( [# _  @. ]2 W5 f
$url="http://www.luosuo.net/old/forum-4-1.html";
; }8 c* u3 o! c% {1 I$ch = curl_init($url);//初始化 & `$ w- L, b! ^) q
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回的內容我們是作為變量儲存, 而不輸出,所以這裡選1.
1 @; w7 F0 F, p' r8 |$contents = curl_exec($ch);// 運行cURL,請求網頁 # y9 U3 w9 A6 r7 K! a$ i
preg_match_all('{<a href="([^"]+)"  target="_blank">(.*)</a>}',$contents,$matches);//正則匹配想要的內容
6 W5 p; M( g$ N5 y3 F- ncurl_close($ch);// 關閉URL請求 ! H" ~9 L0 ~  U! S5 ?! U. n
print_r($matches);
$ h" M' N6 x4 c3 @7 tfor ($i=0;$i<count($matches[1]);$i++)//for循環結構很常用,這裡的作用是循環記錄總數的的次數,每次循環中可以任意處理採集到的內容 ) n4 \0 r) d" Y% z$ N3 {& v
{
  A" n* R8 C* B! C9 d$title = $matches[2][$i];
2 B# s' B' J) ~& U$geturl = $matches[1][$i];
% U0 N/ e; Q3 j/ t/ U4 Oecho "我要的標題是:" . $title. "<br/>" . "對應的網址是:" . $geturl . "<br/><br/><br/>"; / ~8 ?( j- H+ ]9 z' N7 @$ n
} . X0 [) _0 s" P1 O( Z$ J
?>[/mw_shl_code]
7 `9 R4 A, U/ Q; n7 Q$ K7 n8 ^. {9 i, Q
這是我測試的代碼,怎麼出現了這個
& C4 R3 F7 C' t- |9 | 2014-10-30_131545.jpg
: a- d/ a( G5 D$ Q- _% P/ @. F1 o; {6 d+ z$ y% F1 D* ]
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 15:11:50 | 顯示全部樓層
xx19941215 發表於 2014-10-30 13:16 - m6 [+ m6 C* A6 B/ b  ~/ z! y! k
這是我測試的代碼,怎麼出現了這個

0 P8 J' q6 M- [# ~; [+ @/ {看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出來了,直接在瀏覽器上看會比較亂,你點擊鼠標右鍵選擇查看源代碼,在那裡面數組的結構清晰,你就能看出來,輸出的是個二維數組了。
2 S1 _8 O0 @" W% i2 G; {
2 A- Q, M: J" A: T( A; G6 l
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:09:37 | 顯示全部樓層
kevinmy 發表於 2014-10-30 15:11
6 E; i, p, W3 I! o" W0 Y看了你貼出的代碼,出現上面那大段是因為你自己在代碼中加了一句:print_r($matches);把數組的結構打印出 ...
9 ?: H- t( ~3 ^! ]/ K9 Z- T
那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php
$ |- [4 p9 z# E1 W- Z7 P( m6 r; g5 f  M9 W# o
怎麼用for打印出像表格那樣的格式呢?
0 b" j. b. J  f* ]
4 q4 m8 F" J2 }* ]( f7 J) z
  W) t$ P0 C  |& r3 K: F: A" q) ?- I& ~8 ~% }

$ i. r7 Y7 h0 L; G8 s1 i4 Y1 d
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 16:58:45 | 顯示全部樓層
目前為止還只停留在火車頭的階段,樓主高手啊% v0 [8 r8 u$ H/ k5 W9 K
回復 给力 爆菊

使用道具 舉報

發表於 2014-10-30 17:30:13 | 顯示全部樓層
會寫代碼的話就很簡單啦
6 Q0 _) q7 s) H9 e$ y
回復 给力 爆菊

使用道具 舉報

 樓主| 發表於 2014-10-30 20:29:46 | 顯示全部樓層
xx19941215 發表於 2014-10-30 16:09
5 u% K4 Q/ L  v! h  C5 Z" m那您幫忙看看這個http://ygcf.sinaapp.com/ceshi.php
" n7 v+ _4 j$ g3 e* u8 Z
. v, b8 [* A, f5 I! M  a0 J% {怎麼用for打印出像表格那樣的格式呢?
% m1 w% E2 n: s# U7 g' I& l; ?- ]4 r
給你個思路,用div+css可以實現,如果暫時不會,也可以先使用HTML的<table> 標籤來實現功能。# ]' @- k, i: l2 V. o: M4 I7 J
回復 给力 爆菊

使用道具 舉報

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

本版積分規則

过期高净值品牌域名预定抢注

4um點基跨境網編創業社區

GMT+8, 2024-11-24 02:24

By DZ X3.5

小黑屋

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