台灣最大程式設計社群網站
線上人數
712
 
會員總數:245618
討論主題:189315
歡迎您免費加入會員
討論區列表 >> PHP >> 爬網問題 - 相同網址爬不同資料
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
爬網問題 - 相同網址爬不同資料
價值 : 50 QP  點閱數:1101 回應數:7
樓主

RD
門外漢
0 7
132 9
發送站內信

我想爬一個網頁的資料,我用curl,網頁形式如下圖:



這網頁上方有三個頁籤,分別為A、B、C,點近這三頁後檢視原碼會看到不同的資料(也就是這三頁所代表的資料)。

而我想爬的是 C 那頁,但A、B、C三頁的網址都一樣,初次連進這網址會先進到A頁面。

我看了原碼,發現這三頁的切換是用JS來傳送不同的id值

請問前輩們,我該如何爬到我想要的資訊呢?


感謝閱讀~

搜尋相關Tags的文章: [ 爬網 ] , [ 爬蟲 ] , [ curl ] ,
本篇文章發表於2015-07-24 12:02
1樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
基本上這樣很難回答。
畢竟不知道對方是用什麼方式來處理的。
所以也無從告知你該如何去取得。

或許你可以提供一下網址讓我可以查看一下。

另外現在已經有很多特殊的方式來防被抓取資料。
其資料的顯示是採用ajax後送的方式。然後再將將get取得鎖死在本站。

如果是這樣的方式,就真的比較無招了。
本篇文章回覆於2015-07-24 14:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

RD
檢舉此回應
以這網站好了
期貨交易所

我想抓「匯率類商品報價」下「期貨商品」的裡面的資料
本篇文章回覆於2015-07-24 14:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我大致上幫你看一下。它是用post來傳送值的。也就是說你會需要用curl的方式去送出值
重點的代碼有如下
你需要發送的post參數是

ctl00_ContentPlaceHolder1_Uc_future_menu1_hifCategory =5
__EVENTTARGET = 'ctl00$ContentPlaceHolder1$Uc_future_menu1$hifCategory';

這樣就可以直接切換到你要的介面。然後來取得你想要的資料。
不過我並沒實際測試。而且__EVENTTARGET欄位我並沒找到。
不知道是否可行。
本篇文章回覆於2015-07-24 17:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

RD
檢舉此回應
星空大大,首先感謝您的回答!!!

然後我依照您說的,我不知道我打得是否正確...



他會自動進行轉頁,轉到../Future/Disclaimer.aspx
本篇文章回覆於2015-07-27 14:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
大致上就是這樣。只是它會自行轉頁的情況下。就是有可能他還有其它的保護。
這個要研究下來很累人的。

你還是有可能會需要知道其它參數的用意在哪。
研究一下他的js控制因該就行了。

如果能直接找到資料來源點你就發了!!
本篇文章回覆於2015-07-28 16:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

RD
檢舉此回應
好的...我知道了

謝謝您!!!
本篇文章回覆於2015-07-29 08:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
不錯的參考

小羊窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
證券交易的資料來源:台灣證券交易所

有經營證券業務的公司可以直接向他們申請資料(其實打電話過去最快,需要準備什麼資料問一問就會知道了)
與其自己在那邊努力的抓資料回來用,不如直接申請.....
台灣證券交易所-資訊作業(相關表單下載)
(yahoo有向他們申請,所以網頁最底下都會那一串:資料來源台灣證券交易所(TSEC)及台灣期貨交易所。本資料僅供參考.....)

yahoo股市




期貨交易的資料來源:台灣期貨交易所
目前跟【期交所】有相關的企業...
台灣期貨交易所-資訊廠商

...還是那句話, 要作這門生意, 明著作最快, 也最容易做..........
人家都提供電話了........需要什麼條件直接打過去問最快
(公司既然會做這一塊, 當然是由老闆直接去問最合適,
總不會公司打算偷偷摸摸的做這一門生意吧...這樣怎麼賺錢呀)
本篇文章回覆於2015-08-01 03:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.