javascript - nodejs抓取網(wǎng)站的翻頁判斷和言語判斷問題.
問題描述
網(wǎng)址 http://www.everlight.com/news...兩個(gè)問題 1 : 怎么取得每頁的url2 是 點(diǎn)開新聞的內(nèi)容, 比如 http://www.everlight.com/news...如果是英文的操作系統(tǒng),顯示的是英語新聞,如果是中文系統(tǒng),則顯示中文新聞,我想在node里面固定抓取英文新聞,怎么處理.
問題解答
回答1:問題關(guān)閉...
在post的時(shí)候,form里面有幾個(gè)關(guān)鍵性的數(shù)據(jù),是放在也沒的hidden變量里面,指定了這些變量應(yīng)該就能解決.
回答2:右上角有個(gè)切換語言的,看一下代碼,是調(diào)用了這個(gè)函數(shù):function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) { theForm.__EVENTTARGET.value = eventTarget; theForm.__EVENTARGUMENT.value = eventArgument; theForm.submit();}
}
其實(shí)就是提交了一下表單,而表單是有post的方式發(fā)送的原頁面所以,你點(diǎn)擊后會(huì)看到頁面有閃一下,但網(wǎng)址并沒有變化。所以,如果你要英文版的,post方式傳參數(shù):__EVENTTARGET='ctl00$ctl00$lBtnUSA'過去就可以獲得英文版的頁面。
獲取頁面內(nèi)的url,去解析dom就行了。
獲取頁面中的url的方法:
var jsdom = require('jsdom'); jsdom.env({ url: 'http://www.everlight.com/newsdetail.aspx?pcseq=4&cseq=7&seq=291', scripts: ['http://code.jquery.com/jquery.js'], done: function (err, window) { var $ = window.$; console.log('HN Links'); $('a').each(function() { //console.log(' -', $(this).text()); var tmp=$(this).text()+'---'+$(this).attr('href'); console.log(tmp); }); }});回答3:
這個(gè)還是分析一下request 中的header信息吧,里面有一項(xiàng)是可以利用設(shè)置語言的
相關(guān)文章:
1. objective-c - ios百度地圖定位問題2. javascript - 求助這種功能有什么好點(diǎn)的插件?3. 微信開放平臺(tái) - Android調(diào)用微信分享不顯示4. javascript - 關(guān)于這組數(shù)據(jù)如何實(shí)現(xiàn) 按字母列表分類展示 不改動(dòng)數(shù)據(jù)結(jié)構(gòu)5. javascript - 寫移動(dòng)端的頁面的時(shí)候,有不一快空白,是怎么回事?6. html5 - rudy編譯sass的時(shí)候有中文報(bào)錯(cuò)7. javascript - 關(guān)于定時(shí)器 與 防止連續(xù)點(diǎn)擊 問題8. javascript - ie11以下單擊打開不了file,雙擊可以。求解?9. javascript - 在IE中(9+)平時(shí)的樣式不生效,只有用開發(fā)者工具選中這個(gè)元素才生效,是什么原因?10. Python做掃描,發(fā)包速度實(shí)在是太慢了,有優(yōu)化的方案嗎?
