@@ -86,7 +86,10 @@ func main() {
|
|||||||
|
|
||||||
defer extractor.DeferClose(search)
|
defer extractor.DeferClose(search)
|
||||||
|
|
||||||
res := search.GetResults()
|
res, err := search.GetResults()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get results: %w", err)
|
||||||
|
}
|
||||||
fmt.Println("Results:", res)
|
fmt.Println("Results:", res)
|
||||||
|
|
||||||
err = search.LoadMore()
|
err = search.LoadMore()
|
||||||
@@ -95,7 +98,10 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
res = search.GetResults()
|
res, err = search.GetResults()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get results: %w", err)
|
||||||
|
}
|
||||||
fmt.Println("Results:", res)
|
fmt.Println("Results:", res)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -130,5 +130,5 @@ func (c Config) Search(ctx context.Context, b extractor.Browser, query string) (
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
return res, nil
|
return res, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
|
|
||||||
type SearchPage interface {
|
type SearchPage interface {
|
||||||
io.Closer
|
io.Closer
|
||||||
GetResults() []Result
|
GetResults() ([]Result, error)
|
||||||
LoadMore() error
|
LoadMore() error
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -17,11 +17,10 @@ type searchPage struct {
|
|||||||
doc extractor.Document
|
doc extractor.Document
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s searchPage) GetResults() []Result {
|
func (s searchPage) GetResults() ([]Result, error) {
|
||||||
var res []Result
|
var res []Result
|
||||||
var err error
|
|
||||||
|
|
||||||
err = s.doc.ForEach(`article[id^="r1-"]`, func(n extractor.Node) error {
|
err := s.doc.ForEach(`article[id^="r1-"]`, func(n extractor.Node) error {
|
||||||
var r Result
|
var r Result
|
||||||
|
|
||||||
links := n.Select(`a[href][target="_self"]`)
|
links := n.Select(`a[href][target="_self"]`)
|
||||||
@@ -30,6 +29,7 @@ func (s searchPage) GetResults() []Result {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var err error
|
||||||
r.URL, err = links[0].Attr(`href`)
|
r.URL, err = links[0].Attr(`href`)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -53,7 +53,7 @@ func (s searchPage) GetResults() []Result {
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
return res
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s searchPage) LoadMore() error {
|
func (s searchPage) LoadMore() error {
|
||||||
|
|||||||
Reference in New Issue
Block a user