Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web scraping 使用谷歌网页抓取。Importxml函数xpath更正_Web Scraping_Google Sheets_Google Sheets Importxml - Fatal编程技术网

Web scraping 使用谷歌网页抓取。Importxml函数xpath更正

Web scraping 使用谷歌网页抓取。Importxml函数xpath更正,web-scraping,google-sheets,google-sheets-importxml,Web Scraping,Google Sheets,Google Sheets Importxml,我正在尝试使用google sheets中的importxml函数从网站上获取产品列表(大约2000个)的MPN(制造商零件号) 网站: 说明中说要使用importxml公式。链接是A1,然后在chrome中使用inspector复制xpath。结果是: =IMPORTXML(A1,"//*[@id='content']/div[3]/div[2]/div/div/div/div/div/div[2]/dl/div[2]/dd/a") (说明中还提到将双引号改为单引号。) 运行公式时会导入

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

网站:

说明中说要使用importxml公式。链接是A1,然后在chrome中使用inspector复制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的公式是什么

  • 您希望从“UPC”的值中检索“MPN”的值
  • 您希望从“MPN”的值中检索“UPC”的值
  • 您希望使用谷歌电子表格的内置功能来实现这一点
如果我的理解是正确的,那么这个样本公式呢?请把这看作是几个答案中的一个

模式1: 在此模式中,“MPN”的值是从“UPC”的值中检索的

样本配方:
  • xpath是
    //li[contains(text(),'MPN')]/a
  • 在这种情况下,“UPC”的值被放入单元格“A2”中
结果:

模式2: 在此模式中,“UPC”的值是从“MPN”的值中检索的

样本配方:
  • xpath是
    //li[contains(text(),'UPC')]/a
  • 在这种情况下,“MPN”的值被放入单元“A2”中
结果:

参考:
如果我误解了你的问题,而这不是你想要的结果,我道歉

补充: 从中,我修改了使用以下值的公式

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

UPC-->MPN:
  • xpath是
    //dd/a[../../dt[contains(text(),'UPC')].//dd/span[..//dt[contains(text(),'UPC')]]
  • 在这种情况下,“UPC”的值被放入单元格“A2”中
MPN-->UPC:
  • xpath是
    //dd/a
  • 在这种情况下,“MPN”的值被放入单元“B2”中
结果:

在大多数项目上出现错误“导入的内容为空”。大约20分之一的人会把MPN拉进去。以下是UPC 787450038417 787450230576 661120974888 85946204015 82442306667 810237023013 798681538782 787450348196 604206120816@Planterguy的列表。感谢您的回复。给您带来不便,我深表歉意。我的回答是针对你的问题。所以我确认了
http://gun.deals/search/apachesolr_search/640832007756
https://gun.deals/search/apachesolr_search/J941PSL9
。但在您的回复中,我没有注意到您还想检索其他URL。这是因为我的技术差。对此我深表歉意。为了您的回复,我更新了我的答案。你能确认一下吗?如果这不是你想要的结果,我必须再次道歉。谢谢你的帮助。这将节省我很多时间。
=IMPORTXML("http://gun.deals/search/apachesolr_search/"&A2,"//li[contains(text(),'MPN')]/a")
=IMPORTXML("http://gun.deals/search/apachesolr_search/"&A2,"//li[contains(text(),'UPC')]/a")
=IMPORTXML("http://gun.deals/search/apachesolr_search/"&A2,"//dd/a[../../dt[contains(text(),'UPC')]]|//dd/span[../../dt[contains(text(),'UPC')]]")
=IMPORTXML("http://gun.deals/search/apachesolr_search/"&B2,"//dd/a")