pagser
pagser copied to clipboard
`->eq()` should return a Selection if it's followed by something else?
type Item struct {
Title string `pagser:"td->eq(0)"`
Image string `pagser:"td a img->attr(src)"`
Quote string `pagser:"td->eq(3)"`
Description string `pagser:"td->eq(4)"`
}
If I put td->eq(2)
in the tag for Image
, I get the text()
for the full tr
. But without the ->eq(2)
, it's possible I may end up with a different image. Ideally don't want to make a sub-struct just for this one field if possible.
(Happy to have a go at implementing this if it's actually possible.)
Sorry, you can define function():
type Item struct {
Image string `pagser:"td->ImgAttr()"`
}
func (i Item) ImgAttr(node *goquery.Selection, args ...string) (out interface{}, err error) {
return node.Eq(2).Find("img").AttrOr("src", ""), nil
}