Web scraping 使用谷歌网页抓取。Importxml函数xpath更正
我正在尝试使用google sheets中的importxml函数从网站上获取产品列表(大约2000个)的MPN(制造商零件号) 网站: 说明中说要使用importxml公式。链接是A1,然后在chrome中使用inspector复制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") (说明中还提到将双引号改为单引号。) 运行公式时会导入
=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”的值
- 您希望使用谷歌电子表格的内置功能来实现这一点
- xpath是
//li[contains(text(),'MPN')]/a
- 在这种情况下,“UPC”的值被放入单元格“A2”中
- xpath是
//li[contains(text(),'UPC')]/a
- 在这种情况下,“MPN”的值被放入单元“A2”中
- xpath是
//dd/a[../../dt[contains(text(),'UPC')].//dd/span[..//dt[contains(text(),'UPC')]]
- 在这种情况下,“UPC”的值被放入单元格“A2”中
- 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")