因此,我正尝试使用ImportXML函数在Google表格中导入电影标题,该功能希望我为其提供 Xpath查询。问题是BoxOfficeMojo,它的结构非常奇怪,这使我无法弄清楚如何查询。
Google表格中的所有功能都可以正常工作,但在为ImportXML-cell提供链接时,我只是无法生成正确的Xpath查询,而这只能给我电影的标题。
这是我必须使用的:
到给定电影(例如https://www.boxofficemojo.com/movies/?page=main&id=ateam.htm)的链接
Google表格中的ImportXML语句 (https://support.google.com/docs/answer/3093342?hl=en)
我尝试了许多不同的查询,包括当我检查站点时Chrome会为我生成的一个查询,但是BoxOfficeMojo的结构很奇怪,这意味着我无法使用任何逻辑来创建查询。我已经花了几个小时了,最接近我得到正确结果的是这个查询:
//*[//table[@border = '0']]/td/font/b
哪个给我这个结果:
The A-Team
4
我无法为自己的生活弄清楚如何过滤电影的标题(在这种情况下为“ A团队”)。
为了很好地衡量,当我检查站点时,Chrome建议将其作为Xpath :
//*[@id="body"]/table[2]/tbody/tr/td/table[1]/tbody/tr/td[2]/font/b
上面的查询不起作用,只是抛出一个错误,好像查询什么都不返回...
可能的解决方案 我见过一些成功进行Xpath查询的人,他们在其中搜索特定短语,并在该短语之后返回内容(请看:python: xpath returns empty list from boxofficemojo.com)。
但是,由于电影没有任何文字,我似乎无法弄清楚如何搜索电影的标题。
抓取像该标题这样简单的内容的全部要点是,BoxOfficeMojo上的标题全年都会变化,我需要准确的标题才能抓取和比较Google表格中的数据。
希望我已经为人群中的Xpath向导提供了足够的信息,以便能够为我提出建议。
提前谢谢!
答案 0 :(得分:2)
如安德森(Andersson)所建议的那样,使用以下查询:
//font[@size="6"]/b
搞定了:)
编辑:
事实证明,某些电影的标题格式会导致结果分成几个单元格,从而破坏我的电子表格。
但是,该解决方案似乎适用于所有电影,并且将仅返回带有标题的单个单元格:
=JOIN(" ";IMPORTXML(H81;"(//font[@face='Verdana']/b)[2]"))
答案 1 :(得分:2)
我尝试使用xpaths观看了几部电影,但效果很好
//font[@face="Verdana" and @size="6"]/b