diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2023-10-12 18:57:21 +0200 |
|---|---|---|
| committer | Philipp Tanlak <philipp.tanlak@gmail.com> | 2023-10-12 18:57:21 +0200 |
| commit | dfbacde1fdb95452233308731c0670abf3ac94bf (patch) | |
| tree | 2c8270d94f2b70a1cf44b3398f8e33d93bf87cb3 /template.js | |
| parent | fb84ca746e92e371161f1e1de3b01a048a9ae979 (diff) | |
Replace v8go with goja
Diffstat (limited to 'template.js')
| -rw-r--r-- | template.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/template.js b/template.js new file mode 100644 index 0000000..a7a510f --- /dev/null +++ b/template.js @@ -0,0 +1,27 @@ +export const config = { + url: "https://news.ycombinator.com/", // Specify the URL to start scraping from. + // depth: 0, // Specify how deep links should be followed. (default = 0, no follow) + // allowedDomains: [], // Specify the allowed domains. ['*'] for all. (default = domain from url) + // blockedDomains: [], // Specify the blocked domains. (default = none) + // allowedURLs: [], // Specify the allowed URLs as regex. (default = all allowed) + // blockedURLs: [], // Specify the blocked URLs as regex. (default = non blocked) + // rate: 100, // Specify the rate in requests per second. (default = 100) + // cache: "file", // Enable file-based request caching. (default = no cache) +}; + +export default function({ doc, absoluteURL }) { + const title = doc.find("title"); + const posts = doc.find(".athing"); + + return { + title: title.text(), + posts: posts.map((post) => { + const link = post.find(".titleline > a"); + + return { + title: link.text(), + url: absoluteURL(link.attr("href")), + }; + }), + }; +} |