summaryrefslogtreecommitdiff
path: root/flyscrape.go
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2023-11-01 21:20:40 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2023-11-01 21:20:40 +0100
commitaadd80b3b213988aa5701075f2650198e4066349 (patch)
tree23d61848106682a0c72338c07c37d6b9f87a1b47 /flyscrape.go
parent2d3cd6584dedce45ea709d1757a28ce7537f3472 (diff)
Add login functionality
Diffstat (limited to 'flyscrape.go')
-rw-r--r--flyscrape.go14
1 files changed, 8 insertions, 6 deletions
diff --git a/flyscrape.go b/flyscrape.go
index bb4ee30..81c9346 100644
--- a/flyscrape.go
+++ b/flyscrape.go
@@ -25,16 +25,17 @@ func Run(file string) error {
client := &http.Client{}
- script, err := Compile(string(src), nil)
+ exports, err := Compile(string(src), NewJSLibrary(client))
if err != nil {
return fmt.Errorf("failed to compile script: %w", err)
}
scraper := NewScraper()
- scraper.ScrapeFunc = script.Scrape
+ scraper.ScrapeFunc = exports.Scrape
+ scraper.LoginFunc = exports.Login
scraper.Script = file
scraper.Client = client
- scraper.Modules = LoadModules(script.Config())
+ scraper.Modules = LoadModules(exports.Config())
scraper.Run()
return nil
@@ -53,18 +54,19 @@ func Dev(file string) error {
fn := func(s string) error {
client := &http.Client{}
- script, err := Compile(s, nil)
+ exports, err := Compile(s, NewJSLibrary(client))
if err != nil {
printCompileErr(file, err)
return nil
}
- cfg := script.Config()
+ cfg := exports.Config()
cfg = updateCfg(cfg, "depth", 0)
cfg = updateCfg(cfg, "cache", "file:"+cachefile)
scraper := NewScraper()
- scraper.ScrapeFunc = script.Scrape
+ scraper.ScrapeFunc = exports.Scrape
+ scraper.LoginFunc = exports.Login
scraper.Script = file
scraper.Client = client
scraper.Modules = LoadModules(cfg)