но возращает странное
take 1 ategs
[TagBranch "a" [("href","/?sa=X&ved=0ahUKEwiQ7Pbhzs6FAxURBNsEHVRuDAgQOwgC")] [TagBranch "span" [("class","V6gwVd")] [TagLeaf (TagText "G")],TagBranch "span" [("class","iWkuvd")] [TagLeaf (TagText "o")],TagBranch "span" [("class","cDrQ7")] [TagLeaf (TagText "o")],TagBranch "span" [("class","V6gwVd")] [TagLeaf (TagText "g")],TagBranch "span" [("class","ntlR9")] [TagLeaf (TagText "l")],TagBranch "span" [("class","iWkuvd tJ3Myc")] [TagLeaf (TagText "e")]]]
1 ) тут должны были быть только а теги
2) "/?sa=X&ved=0ahUKEwiQ7Pbhzs6FAxURBNsEHVRuDAgQOwgC" такое в документе сохраненном (https://www.google.com/search?q=haskell) не нашлось....
как дальше разбираться, при чем такое же с поиском тега title работает ожидаемо..
тут ровно один тэг <a>, но он содержит потомков
а у меня нашлось
наверное не очень коректно кейт ищет...
вот так будет, если отформатировать [ TagBranch "a" [("href", "/?sa=X&ved=0ahUKEwiQ7Pbhzs6FAxURBNsEHVRuDAgQOwgC")] [ TagBranch "span" [("class", "V6gwVd")] [TagLeaf (TagText "G")] , TagBranch "span" [("class", "iWkuvd")] [TagLeaf (TagText "o")] , TagBranch "span" [("class", "cDrQ7")] [TagLeaf (TagText "o")] , TagBranch "span" [("class", "V6gwVd")] [TagLeaf (TagText "g")] , TagBranch "span" [("class", "ntlR9")] [TagLeaf (TagText "l")] , TagBranch "span" [("class", "iWkuvd tJ3Myc")] [TagLeaf (TagText "e")] ] ]
Это я понял, а дальше, если я хочу выкинуть не нужное надо делать что то типа такого upperCase = transformTree f where f (TagBranch name atts inner) = [TagBranch (map toUpper name) atts inner] f x = [x]
например, можно к этому применить > fold [text | TagLeaf (TagText text) <- universeTree a] "Google"
Обсуждают сегодня