【发布时间】:2021-12-26 07:17:19
【问题描述】:
我无法在亚马逊产品页面上找到商家 ID,是我遗漏了什么吗?任何帮助都会很棒!
我总是在终端上收到相同的消息:“未找到商家 ID”。
网址:https://www.amazon.com/dp/B004X4KRW0/ref=olp-opf-redir?aod=1&ie=UTF8&condition=NEW&th=1
目标:使用python列出所有商家ID。
什么是商户号?
对于亚马逊上的每个卖家,商家 id 唯一地标识他们,例如从上面的网站 URL 中,如果我将亚马逊的商家 id 定位为卖家,它将在 html 中标识为 ATVPDKIKX0DER亚马逊(美国):
<div id="fast-track" class="a-section a-spacing-none"> <input type="hidden" id="ftSelectAsin" value="B004X4KRW0"/> <input type="hidden" id="ftSelectMerchant" value="ATVPDKIKX0DER"/>
因此,我尝试使用 xpath 来打印所有卖家的商家 ID(输出)。
# Get Seller merchant ID
# Default Merchant ID
merchant_id = ""
# Try to find merchant ID with xpath
try:
merchant_id = offer.xpath(
.//input[@id='ftSelectMerchant' or @id='ddmSelectMerchant']"
)[0].value
except IndexError:
# try to find merchant ID with regex
try:
merchant_script = offer.xpath(".//script")[0].text.strip()
find_merchant_id = re.search(
r"merchantId = \"(\w+?)\";", merchant_script
)
if find_merchant_id:
merchant_id = find_merchant_id.group(1)
except IndexError:
pass
log.info(f"merchant_id: {merchant_id}")
# log failure to find merchant ID
if not merchant_id:
log.debug("No Merchant ID found")```
【问题讨论】:
-
请提供更多信息。您需要共享最少的复制代码。目标网站网址是什么? “找不到”是什么意思?
-
刚刚更新,如果其他详细信息有助于解释我正在尝试做的事情,请告诉我。
-
所以打印了“No Merchant ID found”,
log.info(f"merchant_id: {merchant_id}")行打印什么?您是否使用pass隐藏了异常? -
就这个:
|INFO| merchant_id: None |DEBUG| No Merchant ID found