我正在使用节点 js 请求从以下 URL 检索 HTML,但正文返回空。
var request = require("request");
var url = 'http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20';
request({
uri: url
}, function (error, response, body) {
console.log(body);
if (response.statusCode != '200') {
console.log('fail');
console.log(response.statusCode + ' # ' + error);
} else {
console.log(response.statusCode);
console.log('############');
console.log(response);
}
});
Run Code Online (Sandbox Code Playgroud)
仔细检查后,我可以在回复中看到这一点:
_header: 'GET /webapp/wcs/stores/servlet/CatalogNavigationSearchResultCmd?langId=-1&storeId=12556&catalogId=33057&beginIndex=1&viewAllFlag=false&pageSize=20&searchTermScope=3&searchTermOperator=LIKE&searchType=ALL&sort_field=Relevance&searchTerm=TS19M11KRED&x=25&y=11&geoip=search HTTP/1.1\r\nreferer: http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20&geoip=prod\r\nhost: www.topshop.com\r\nConnection: close\r\n\r\n',
_headers:
{ referer: 'http://www.topshop.com/en/tsuk/product/bags-accessories-1702216/scarves-465/feather-wings-5884878?bi=0&ps=20&geoip=prod',
host: 'www.topshop.com' },
Run Code Online (Sandbox Code Playgroud)
我认为这意味着发生了重定向?即使它返回了 200 OK 而不是 302 重定向。
我不确定从重定向中检索正文的最佳方法?我是否需要对标头中的 URL 发出另一个请求?但是在这种情况下,响应代码不应该是 302 而不是 200 吗?
任何帮助表示赞赏。
我对MS SQL背景中的MYSQL相对较新.有人可以请指出为什么我在这里遇到语法错误吗?我确信我做了一件非常明显错误的事情,但我看不出来:
我在第8行得到一个缺少分号语法错误:
CREATE TRIGGER trg_InsertProductWatchListPriceHistory
AFTER UPDATE
ON ProductWatchlist FOR EACH ROW
BEGIN
INSERT INTO ProductWatchListPriceHistory
(ProductWatchlistID,Price)
VALUES
(ProductWatchlistID,New.ProductPrice);
END;
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.
我在nodejs中使用Cheerio从URL中选择文本,其中元素包含属性itemprop ="name".
目前,我需要知道父元素才能读取属性和相关文本.请参阅下面的示例.
但是,我想要做的是为Element插入一个通配符.例如.H2,所以我可以选择name ="itemprop"的任何属性.这可能吗?
var $ = cheerio.load(body);
var domElem = $("h2[itemprop = 'name']").get(0);
var content = $(domElem).text().trim();
ogTitle = content;
console.log(content);
Run Code Online (Sandbox Code Playgroud)