diff --git a/main b/main index a70366f..1c57d05 100755 Binary files a/main and b/main differ diff --git a/main.nim b/main.nim index 4d11c8d..2b40e43 100644 --- a/main.nim +++ b/main.nim @@ -19,9 +19,10 @@ try: var htmlnode: XmlNode var entry : Entry - - entry.name = Descriptor(html_context_tag : "div", html_tag : "a",attrs : "href") - + + add(entry.name,Descriptor(name : "alink", html_context_tag : "div", html_tag : "a",attrs : "href")) + add(entry.name,Descriptor(name:"anotherlin",html_context_tag : "div", html_tag : "a",attrs : "href")) + echo entry entry.getEntryFromHtml(node) # echo node # for a in node.findAll("a"): diff --git a/scrap.nim b/scrap.nim index e83040d..7d101b6 100644 --- a/scrap.nim +++ b/scrap.nim @@ -11,25 +11,25 @@ type attrs* : string type Entry* = object - name*, tag*, description*, link*, category* : Descriptor + name* : seq[Descriptor] proc getEntryFromHtml*(entry : Entry, node : XmlNode) = - echo(entry.description) - - let context = node.findAll(entry.name.html_context_tag) + echo(entry.name[0]) + + let context = node.findAll(entry.name[0].html_context_tag) for a in context: - let subContext = a.findAll(entry.name.html_tag) + let subContext = a.findAll(entry.name[0].html_tag) for b in subContext: echo(b) - if entry.name.attrs != "": - if b.attrs.hasKey(entry.name.attrs): + if entry.name[0].attrs != "": + if b.attrs.hasKey(entry.name[0].attrs): echo("found key") - if entry.name.contains_string != "": + if entry.name[0].contains_string != "": echo(" and string") #check if b contains contains_string #return function - if entry.name.contains_string != "": + if entry.name[0].contains_string != "": echo("found string") #check if b contains contains_string #return function @@ -39,7 +39,7 @@ proc test() = var htmlnode : XmlNode var str_html : string var entry: Entry - entry.name = Descriptor(html_tag : "p", contains_string : "test_container") + entry.name[0] = Descriptor(html_tag : "p", contains_string : "test_container") echo entry htmlnode = parseHtml(str_html)