Elixir 使用Floki访问html属性
我试图从我用过的HTML正文中获取图像。现在尸体在Elixir 使用Floki访问html属性,elixir,Elixir,我试图从我用过的HTML正文中获取图像。现在尸体在 [ {"div", [{"class", "a-cover-image"}, {"data-state", "not-initialised"}], [ {"div", [ {"class", "content"}, {&q
[
{"div", [{"class", "a-cover-image"}, {"data-state", "not-initialised"}],
[
{"div",
[
{"class", "content"},
{"data-image",
"/sites/default/files/legacy/khloe-kardashian-anxiety-pregnancy.png"},
{"data-text", "A photo of Khloe Kardashian dressed up for a night out"}
],
[
{"div",
[
{"class", "a-cover-image__cover a-cover-image__cover-loading-inner"},
{"style",
"background-image: url('/sites/default/files/legacy/khloe-kardashian-anxiety-pregnancy.png')"}
], []}
]},
{"div",
[
{"class", "a-cover-image__cover a-cover-image__cover-small"},
{"data-image",
"/sites/default/files/styles/1x1/public/legacy/khloe-kardashian-anxiety-pregnancy.png?itok=agZilCJ6"},
{"data-text", "A photo of Khloe Kardashian dressed up for a night out"},
{"data-height", ""},
{"data-width", ""}
], []},
{"div",
[
{"class", "a-cover-image__cover a-cover-image__cover-medium"},
{"data-image",
"/sites/default/files/styles/3x2/public/legacy/khloe-kardashian-anxiety-pregnancy.png?itok=tnPqQNhC"},
{"data-text", "A photo of Khloe Kardashian dressed up for a night out"},
{"data-height", ""},
{"data-width", ""}
], []},
{"div",
[
{"class", "a-cover-image__cover a-cover-image__cover-large"},
{"data-image",
"/sites/default/files/styles/16x9/public/legacy/khloe-kardashian-anxiety-pregnancy.png?itok=YgdCfuT2"},
{"data-text", "A photo of Khloe Kardashian dressed up for a night out"},
{"data-height", ""},
{"data-width", ""}
], []},
{"div",
[
{"class", "a-cover-image__cover a-cover-image__cover-xl"},
{"data-image",
"/sites/default/files/styles/16x9/public/legacy/khloe-kardashian-anxiety-pregnancy.png?itok=YgdCfuT2"},
{"data-text", "A photo of Khloe Kardashian dressed up for a night out"},
{"data-height", ""},
{"data-width", ""}
], []}
]}
]
所以我试图从a-cover-image\uuuu-cover-small
中获取数据图像,我知道我可以像这样从身体中获取元素
body |>Floki.find(“.a-cover-image_uu-cover-small”)
然后输出
[
{"div",
[
{"class", "a-cover-image__cover a-cover-image__cover-small"},
{"data-image",
"/sites/default/files/styles/1x1/public/legacy/khloe-kardashian-anxiety-pregnancy.png?itok=agZilCJ6"},
{"data-text", "A photo of Khloe Kardashian dressed up for a night out"},
{"data-height", ""},
{"data-width", ""}
], []}
]
我很难理解如何获取数据文本
,如何返回它?谢谢您可以使用Floki.attribute/2
:
body |> Floki.find(".a-cover-image__cover-small") |> Floki.attribute("data-text")
# => ["A photo of Khloe Kardashian dressed up for a night out"]
如果您知道只有一个匹配元素,则可以使用模式匹配来提取它:
[text] = body |> Floki.find(".a-cover-image__cover-small") |> Floki.attribute("data-text")
text # => "A photo of Khloe Kardashian dressed up for a night out"
您只需使用Floki.attribute/2
:
body |> Floki.find(".a-cover-image__cover-small") |> Floki.attribute("data-text")
# => ["A photo of Khloe Kardashian dressed up for a night out"]
如果您知道只有一个匹配元素,则可以使用模式匹配来提取它:
[text] = body |> Floki.find(".a-cover-image__cover-small") |> Floki.attribute("data-text")
text # => "A photo of Khloe Kardashian dressed up for a night out"
omg,如果我开始解释由于某些原因我不能做到这一点,那将很有趣,但感谢匹配元素示例omg,如果我开始解释由于某些原因我不能做到这一点,那将很有趣,但感谢匹配元素示例