如何在Node.js中为Amazon产品详细信息创建一个经过验证的scraper?

xdnvmnnf  于 2023-03-08  发布在  Node.js
关注(0)|答案(1)|浏览(123)

我正在创建一个脚本,该脚本将从Amazon获取所有已发货的商品并通知我。
不过要查看产品需要身份验证。我已经尝试过通过“request”发送一个post请求,因为需要cookie和额外的参数,所以会返回一个错误。
如果身份验证有效,那么之后使用cheerio获取数据将非常容易。
有人知道我们如何才能成功认证吗?
电子邮件中的链接为:https://www.amazon.com/ap/signin/185-3199906-8918341?encoding=UTF8&accountStatusPolicy=P1&openid.assoc_handle=usflex&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fgp%2Fyour-account%2Forder-details%2F185-3199906-8918341%3Fie%3DUTF8%26eoid%3D1%253A1%253Arv%252FYwjiYmnOZY9MYltVnDyf2l6p5pMkMx9deoUeiiw%252FKpPrtZrWqs5l1GGQPVb%2520qaJqHXyCkPEpLZnmDZamKkVDWhtu3dKlW5Gx7Uvxtzs0xlPJ25vduijJrPpHt79P%2520RRZHopOtAyOP4s82VLoeeiDQgq%2520FCP540H%2520UYAV7goZQxB29WObWAVh8VveTwEeWenY3sTx8ZI9%252FBLM2BSqS3IUIURW8mzMnAB9t7wglUiAcoR%252FcUhSIx%25201eNV4MspVAp7fLkeANag72BxgmsjFfRhnsxfji1VhZXLawqFeK9SBnvbUfkNWUC%2520IXWh6VcuoStBG3x%2520ZUkzGHw1ORi4J%2520Hg%253D%253D%26orderID%3D105-6914722-5422613%26ref%3DTE_simp_on_T1&pageId=webcs-yourorder&showRmrMe=1

rpppsulh

rpppsulh1#

你不能保证登录页面的任何表单输入值。所以你也必须抓取登录表单。
流程如下:
1.在服务器中,向问题中的URL发出请求
1.使用Cheerio解析DOM并获取"#ap_signin_form"中的所有表单字段。
1.添加您的数据(用户名/密码),然后向表单操作"https://www.amazon.com/ap/signin"发出POST请求(这也应该被删除)
希望这能让你通过登录屏幕。你需要确保所有未来的请求都通过登录时设置的cookie。
现在这种事情显然是反对大多数TOS的,所以我会敦促谨慎做这种事情经常。

相关问题