3 回答

TA貢獻(xiàn)1827條經(jīng)驗 獲得超4個贊
nodejs做采集可行,但是受制于并發(fā)性效率不會很高,你說的本地js是指什么?jquery不是前端框架么,瀏覽器端通常不支持跨域訪問,非要在瀏覽器端實現(xiàn)的話,可以考慮用ajax回調(diào)

TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊
如果你有遠(yuǎn)端服務(wù)器的權(quán)限,可以配置CORS,允許你的JS跨域抓取~
如果你木有遠(yuǎn)端服務(wù)器的權(quán)限,則需要用到代理~
一個超簡單的PHP代理例子:proxy.php
<?php $html = file_get_contents('http://www.example.com/'); echo $html;?>

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊
其實最大的限制就是其他人都提到的跨域問題。
跨域問題只能通過代理來解決,比如你寫一個Server,專門寫一個暴露給JS調(diào)用的接口用于抓取頁面。
對于JS解析HTML的情況,答題思路兩種:
1、真的做解析。這一塊的庫肯定有人已經(jīng)寫好了。建議直接到Github上搜索下.
2、講抓取到的網(wǎng)頁內(nèi)容潛入到dom中,讓瀏覽器幫你渲染好。然后你可以用JQ等方式簡單地去獲取你要的節(jié)點內(nèi)容。
注意如果是第二點,你需要注意的是:
1、過濾掉內(nèi)容中的script等標(biāo)簽,避免腳本執(zhí)行
2、直接放在內(nèi)存中渲染,不用append到頁面,避免對你自己頁面的影響。
添加回答
舉報