我想用Nodejs刮頁「https://www.ukr.net/ua/news/sport.html」。 我真的試圖與「請求」 NPM模塊基本GET請求,這裏是例子:Scraping Nodejs
const inspect = require('eyespect').inspector();
const request = require('request');
const url = 'https://www.ukr.net/news/dat/sport/2/';
const options = {
method: 'get',
json: true,
url: url
};
request(options, (err, res, body) => {
if (err) {
inspect(err, 'error posting json');
return
}
const headers = res.headers;
const statusCode = res.statusCode;
inspect(headers, 'headers');
inspect(statusCode, 'statusCode');
inspect(body, 'body');
});
但響應的身體我只得到
body: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">\n<html>\n<head>\n<META HTTP-EQUIV="expires"
CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">\n<META HTTP-EQUIV=Refresh
CONTENT="10">\n<meta HTTP-EQUIV="Content-type" CONTENT="text/html;
charset=utf-8">\n<title>www.ukr.net</title>\n</head>\n<body>\n
Идет загрузка, подождите .....\n</body>\n</html>'
如果我讓郵差從get請求,我得到正是我需要的:
請幫我傢伙。
'Идетзагрузка,подождите.....'='加載中,請稍候....' - 你試圖刮掉頁都有動態加載的元素,讓你的初始請求會返回「加載」消息 - 也許您可以使用像幻影js這樣的東西爲您呈現頁面? http://stackoverflow.com/a/31059035/459517 - 郵差可能會自動做這樣的事情。 – Robbie