From d5b8c8fd1285cf212d802a7e0ca681a799351fca Mon Sep 17 00:00:00 2001 From: potassium Date: Thu, 12 Feb 2026 00:33:05 +0300 Subject: [PATCH] shouldwork --- go.mod | 5 +++++ go.sum | 2 ++ match.go | 8 ++++---- scraper_test.go | 9 ++++++++- 4 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 go.mod create mode 100644 go.sum diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..f5595e5 --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module scraper + +go 1.25.5 + +require golang.org/x/net v0.50.0 diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..13ce0c7 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= diff --git a/match.go b/match.go index 0b0c601..4e9a30b 100644 --- a/match.go +++ b/match.go @@ -20,13 +20,13 @@ var ErrNotAnElementNode = errors.New("not an ElementNode") func parseFragment(s string) (*html.Node, error) { n, err := html.ParseFragment(strings.NewReader(s), body) if err != nil { - return n, err + return nil, err } return n[0], nil } func MatchElemAttr(s string, n2 *html.Node) (bool, error) { - n1, err := parseFragemnt(s) + n1, err := parseFragment(s) if err != nil { return false, err } @@ -67,7 +67,7 @@ func SearchElemAttr2(s string, n2 *html.Node) (chan *html.Node, error) { }() if r := recover(); r != nil { - return nil, r + return nil, r.(error) } - return <-ch, nil + return ch, nil } diff --git a/scraper_test.go b/scraper_test.go index 63c408b..f1903ad 100644 --- a/scraper_test.go +++ b/scraper_test.go @@ -10,6 +10,13 @@ import ( const htmlStr = `
HelloWorld
` +func Must[T any](v T, err error) T { + if err != nil { + panic(err) + } + return v +} + func TestSearchElem(t *testing.T) { doc := Must( html.Parse(strings.NewReader(htmlStr)), @@ -60,7 +67,7 @@ func TestSearchElemAttr(t *testing.T) { func TestCrawlTest(t *testing.T) { fmt.Println( - crawlText(Must( + CrawlText(Must( html.Parse(strings.NewReader(htmlStr)), )), )