nim-basic/scrap.nim
2024-06-28 13:19:47 +02:00

49 lines
1.2 KiB
Nim

import std/htmlparser
import std/xmltree
import std/strtabs
type
Descriptor* = object
name* : string
html_tag* : string
html_context_tag* : string
contains_string* : string
attrs* : string
type
Entry* = object
name*, tag*, description*, link*, category* : Descriptor
proc getEntryFromHtml*(entry : Entry, node : XmlNode) =
echo(entry.description)
let context = node.findAll(entry.name.html_context_tag)
for a in context:
let subContext = a.findAll(entry.name.html_tag)
for b in subContext:
echo(b)
if entry.name.attrs != "":
if b.attrs.hasKey(entry.name.attrs):
echo("found key")
if entry.name.contains_string != "":
echo(" and string")
#check if b contains contains_string
#return function
if entry.name.contains_string != "":
echo("found string")
#check if b contains contains_string
#return function
proc test() =
var htmlnode : XmlNode
var str_html : string
var entry: Entry
entry.name = Descriptor(html_tag : "p", contains_string : "test_container")
echo entry
htmlnode = parseHtml(str_html)
entry.getEntryFromHtml(htmlnode)
#test()