使用Google表格进行网页抓取。Importxml函数xpath校正

Planterguy

我正在尝试使用Google表格中的importxml函数从网站上抓取MPN(制造商零件号)以获取产品列表(大约2000个)。

网站:http : //gun.deals/search/apachesolr_search/640832007756

该说明表示要使用importxml公式。链接为A1,然后在chrome中使用检查器复制xpath。结果:

 =IMPORTXML(A1,"//*[@id='content']/div[3]/div[2]/div/div/div/div/div/div[2]/dl/div[2]/dd/a")

(指令还说将双引号更改为单引号内容。)

运行公式时,错误导入为“内容为空”。我试图进行编辑,但我认为XPath不正确。有人说您不能按照指示从检查员那里复制粘贴。

我尝试过的另一件事是=IMPORTHTML(A1, "list", 8)这将返回UPC和MPN。但这将MPN放在第二行。

我对此并不陌生,并在过去的两个晚上寻找解决方案。任何帮助将非常感激。

还奖金问题。如果拥有MPN,刮掉UPC的公式将是什么?https://gun.deals/search/apachesolr_search/J941PSL9

Tanaike
  • 您要从“ UPC”的值中检索“ MPN”的值。
  • 您要从“ MPN”的值中检索“ UPC”的值。
  • 您想使用Google Spreadsheet的内置功能来实现。

如果我的理解是正确的,那么该示例公式如何?请认为这只是几个答案之一。

模式1:

在这种模式下,从“ UPC”的值中检索“ MPN”的值。

样本公式:

=IMPORTXML("http://gun.deals/search/apachesolr_search/"&A2,"//li[contains(text(),'MPN')]/a")
  • xpath是//li[contains(text(),'MPN')]/a
  • 在这种情况下,“ UPC”的值放在单元格“ A2”中。

结果:

在此处输入图片说明

模式2:

在这种模式下,从“ MPN”的值中检索“ UPC”的值。

样本公式:

=IMPORTXML("http://gun.deals/search/apachesolr_search/"&A2,"//li[contains(text(),'UPC')]/a")
  • xpath是//li[contains(text(),'UPC')]/a
  • 在这种情况下,“ MPN”的值放在单元格“ A2”中。

结果:

在此处输入图片说明

参考:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。

添加:

根据您的答复,我修改了使用以下值的公式。

这是UPC的列表787450038417 787450230576 661120974888 859462004015 82442306667 810237023013 798681538782 787450348196 604206120816

UPC-> MPN:

=IMPORTXML("http://gun.deals/search/apachesolr_search/"&A2,"//dd/a[../../dt[contains(text(),'UPC')]]|//dd/span[../../dt[contains(text(),'UPC')]]")
  • xpath是//dd/a[../../dt[contains(text(),'UPC')]]|//dd/span[../../dt[contains(text(),'UPC')]]
  • 在这种情况下,“ UPC”的值放在单元格“ A2”中。

MPN-> UPC:

=IMPORTXML("http://gun.deals/search/apachesolr_search/"&B2,"//dd/a")
  • xpath是//dd/a
  • 在这种情况下,“ MPN”的值放在单元格“ B2”中。

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章