Re: [請益] curl這網站參數的問題
※ 引述《jami520 (我的生命因你而發光)》之銘言:
: 各位好,想跟各位請教一下以下?這網站網址參數部分非固定式的
: 這是利用什麼機制的保護動作呢? 是否有高手知道破解之道?
: 因為還有其他商品要做curl,不過網址不固定就沒辦法做動作了
: 例如: 商品 IIX EG ....
: http://www.quotemedia.com/results.php?qm_page=4033&qm_symbol=IIX
: 光同商品去點選查詢商品報價,他網址中的qm_page都會不同
: 如果單以改變qm_symbol=EG,網頁中的資料不會是EG,反而是原本的IIX
: 所以跟大家請益一下,謝謝
畫面是javascript 產生...位置在app.quotemedia.com
你這個動作都只對www.quotemedia.com作資料抓取~所以才有你的錯覺
$qm_symbol = strtolower("GE");
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://app.quotemedia.com/quotetools/clientForward?targetURL=http%3A%2F%2Fwww.quotemedia.com%2Fresults.php&targetsym=qm_symbol&targettype=&targetex=&qmpage=true&smartLookup=on&symbol=".$qm_symbol);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7");
$data = array("symbol" => $qm_symbol);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);
curl_setopt($ch, CURLOPT_URL,
"http://app.quotemedia.com/quotetools/quoteModule.go?hiddenTabs=markets_worldIndices&toolWidth=729&advCharts=on&mktsymbols=^DJI&mktsymbols=^NASD&mktsymbols=^SP500&mktsymbols=^NYSE&mktsymbols=^RUO&mktsymbols=^TSX&hiddenTabs=streamer&shownTabs=financials&shownTabs=insiders&shownTabs=earnings&shownTabs=analyst&shownTabs=markets_rates&shownTabs=markets_sectors&shownTabs=markets_futures&shownTabs=markets_ETF&shownTabs=markets_currencies&shownTabs=markets_calendars&shownTabs=markets_IPO&showMenuMkt=on&shownTabs
=trades§or=^XAL§or=^BKX§or=^XCI§or=^BTK§or=^XFI§or=^DOT§or=^XNG§or=^NWX§or=^OIX§or=^XOI§or=^DRG§or=^SIS§or=^RLX§or=^TXX§or=^PHN§or=^UUO&targetURL=http://www.quotemedia.com/results.php&action=showDetailedQuote&webmasterId=500&targetsym=qm_symbol");
$f = curl_exec($ch);
file_put_contents("curl.js", $f);
curl_close($ch);
這是直接將畫面的javascript抓回存成curl.js
然後寫一個 curl.htm來載入這個curl.js當作畫面顯示
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<body>
<script src=curl.js></script>
</body>
如果程式碼被bbs截掉~請自行找網頁內的網址再補上..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.25.72
推
04/01 20:31, , 1F
04/01 20:31, 1F
→
04/03 22:43, , 2F
04/03 22:43, 2F