Richie
(Richie Rich)
1
大家好,
运行 Discourse v2.4.0.beta6+119
我们无法为 amazon.co.uk 上的产品链接生成预览卡片(onebox)。
例如(顺便提一下,这里可以正常工作):Amazon.co.uk
我们在 amazon.com(以及其他 Amazon 顶级域名)上的链接生成预览卡片没有任何问题。
浏览器控制台显示 404 Not Found 错误:
我尝试了 vimeo IP 黑名单测试,以防 Amazon 也屏蔽了一批 Digital Ocean 的 IP 地址。但奇怪的是,我直接从服务器使用 wget 获取该链接时完全正常:
xx@xx:~# wget https://www.amazon.co.uk/BG-Electrical-NBS22G-Brushed-Switched/dp/B004TRJYE8
--2019-10-23 14:49:47-- https://www.amazon.co.uk/BG-Electrical-NBS22G-Brushed-Switched/dp/B004TRJYE8
正在解析 www.amazon.co.uk (www.amazon.co.uk)... 99.86.105.85
正在连接 www.amazon.co.uk (www.amazon.co.uk)|99.86.105.85|:443... 已连接。
已发送 HTTP 请求,正在等待响应... 200 OK
长度:未指定 [text/html]
正在保存至:âB004TRJYE8â
B004TRJYE8 [ <=> ] 711.64K 682KB/s 用时 1.0s
2019-10-23 14:49:48 (682 KB/s) - âB004TRJYE8â 已保存 [728716]
对于接下来可以尝试的解决方案,大家有什么建议吗?
根据我的经验,如果你频繁访问亚马逊,他们会很快封禁你的账号。这也是自动化的。
Tracey
(AZone.Fr)
3
我们的成员最近经常遇到这个问题,尤其是因为我们与亚马逊英国和亚马逊法国有关联。
能够一键展示与讨论相关的推荐产品,显然对我们有帮助,因为当用户通过关联链接购买商品时,我们的论坛收入会增加。
但现在一键展示功能失效了,这简直不可理喻,对任何人都没有好处。我随后找到了 @merefield 发布的这个主题帖:
小心使用 Amazon 的 Oneboxing 功能。
我正是因为这一“违规行为”被他们的项目除名了。
我改用他们提供的官方图片链接,并通过他们的工具栏生成。你可以在表格的 Markdown 中设置这些链接,让图片看起来更美观。当然,这需要多花一点精力,但这主要取决于你使用的频率。
正如我在原始主题中提到的,这样做的一个主要优势是这些图片由他们直接提供。
从法律上讲,这违反了他们的服务条款,但我同意杰夫的观点,我那次被“处罚”可能是因为一位吹毛求疵的审核员那天心情不好(而且可能不熟悉 Discourse)。
顺便提一下,亚马逊英国站曾两次以“属于论坛性质”为由拒绝我(他们的规则中从未提及这一点!)。而美国站则没有问题。他们似乎根据不同地区执行不同的规则,这令人非常沮丧。
Tracey
(AZone.Fr)
7
与亚马逊卖家支持一样,您收到的回复完全取决于处理您查询(或在此情况下为申请)的人员!
亚马逊联盟计划运营协议最近已更新:英国站为 2019 年 9 月 6 日,.com 站点为 10 月 1 日。
一如既往,他们保留了“修改或更改协议任何条款和条件的权利”(第 13 节)。如果您不喜欢……那就 tough,离开吧(第 6 节)……与他们合作真是令人愉快!
https://affiliate-program.amazon.co.uk/help/operating/agreement
Richie
(Richie Rich)
8
我们不是亚马逊联盟成员,我们 Discourse 社区中发布亚马逊产品链接的成员也不是。我们的成员有时会发布一些可能引起社区兴趣的亚马逊产品链接,但数量不会很多,我估计平均每天只有一两个亚马逊链接。因此,我们并没有滥用该系统。不过,我仍然不太清楚为什么我可以直接从服务器使用 wget 获取该 URL 而没有问题:思考中
还有什么其他方法可以尝试或测试吗?是否有可以清除的缓存或可以重启的进程,以“刷新”某些内容?
Richie
(Richie Rich)
9
剧情愈发扑朔迷离 / 困惑持续……
有人知道这是怎么回事吗?
第一个链接可以一键直达,尽管显示“机器人验证”提示,这对大家来说是否透露了什么信息?
第二个链接则完全无法一键直达。
相关链接:https://www.amazon.co.uk/dp/B0791RGQW3/

Richie
(Richie Rich)
10
顺便提一下,Robot Check 消息在 meta 上并没有出现,这里只显示一个空白的 onebox:
Richie
(Richie Rich)
12
不太行 
既然我可以在服务器本身上用 wget 正常获取页面,那说明不像 Vimeo 那样是直接的 IP 封禁。那么,我们是否了解他们具体是如何进行这项检查的?
有什么规避技巧吗?
您被识别为不受欢迎的来源。VP 服务器被阻止抓取的情况非常普遍。您需要使用代理爬取服务。
我在我的插件中支持这一功能:onebox assistant
Richie
(Richie Rich)
14
感谢您的建议,粗略一看,我似乎需要订阅付费服务才能实现该功能。还有其他可行的替代方案吗?
我很好奇 Amazon 是如何识别 Discourse 发出的请求并实时予以拦截的,因为在同一台服务器上通过 wget 方式发起的请求仍能正常运行。
Falco
(Falco)
15
可能是用户代理(User Agent)字符串的问题。
Richie
(Richie Rich)
16
Discourse 呈现的 User-Agent 是什么?
我能否伪造这个信息,让它看起来像普通的 Firefox 浏览器或其他浏览器?