在Google工作表中使用Importxml。
当信息不是div类或div id时,如何从中获取“data-film-id”和“data-film-release-year”?:
<div class="react-component film-poster film-poster-193260 poster linked-film-poster -attributed"
data-component-class="globals.comps.FilmPosterComponent"
data-film-id="193260"
data-film-name="The Choice"
data-poster-url="/film/the-choice-1987/image-150/"
data-film-release-year="1987"
data-film-link="/film/the-choice-1987/"
我能够从网站上获得一些信息(其中A1是[https://letterboxd.com/tag/30-countries-2018/diary/by/added/page/58/])到谷歌表中使用这个:
=ImportXML(A1, "//div[contains(@class,'react-component') and contains(@class,'film-poster')]/a/@href")
所以我知道一切正常,但这只是因为href在其自己的段落中低于该div。我的问题是试图深入了解上面显示的信息。
在这个网站上搜索之后,我尝试了这个(在许多其他方面)但是它导致了一个错误。
=ImportXML(A1, "//li[@class='poster-container']//div[not(@id) or not(@class)]")
但它给了我已有的信息,而不是我需要的信息。
也许我无法获得约会,因为它不是一个类或一个id?
答案 0 :(得分:0)
您需要使用attribute selector。
=ImportXML(A1, "//div[contains(@class,'react-component') and contains(@class,'film-poster')]/attribute::data-film-id")
因此,在B栏中,你可以使用上面的公式来显示电影ID,在C栏中显示发行年的另一个公式,依此类推。
如果你想把它全部放在一行,我不推荐,那就是
=ImportXML(A1, "//div[contains(@class,'react-component') and contains(@class,'film-poster')]/attribute::data-film-id | //div[contains(@class,'react-component') and contains(@class,'film-poster')]/attribute::data-film-release-year")
我不建议将其合并,因为它会在一列中输出所有内容&#34;年份,ID,年份,ID,...&#34;。很乱。