小编Gil*_*unt的帖子

节点 js 请求 - 响应中的空体

我正在使用节点 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 吗?

任何帮助表示赞赏。

request node.js

5
推荐指数
1
解决办法
5751
查看次数

MYSQL触发器语法 - 缺少分号

我对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)

任何帮助非常感谢.

mysql triggers

4
推荐指数
1
解决办法
3756
查看次数

Cheerio itemprop属性内容选择

我在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)

node.js cheerio

1
推荐指数
1
解决办法
1223
查看次数

标签 统计

node.js ×2

cheerio ×1

mysql ×1

request ×1

triggers ×1