作者chaoms (小企鹅)
看板PHP
标题Re: [请益] curl这网站参数的问题
时间Sat Mar 31 18:12:32 2012
※ 引述《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
1F:推 jami520:chaoms大大,真有你的,我查了好几天都找不出,感谢唷~ 04/01 20:31
2F:→ ileadu:高手快拜.. 04/03 22:43