MagicScraper

Scrapes and displays data from the web page based on rules.

当前为 2023-07-20 提交的版本,查看 最新版本

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/471264/1222833/MagicScraper.js

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
aolko
版本
0.1
创建于
2023-07-20
更新于
2023-07-20
大小
4.2 KB
许可证
暂无

Define your rules object (either inline or external)

const rules = {
  // Your rules object here
};

Define the options

const options = {
  keepChildren: false, // Set to true if you want to retain children of scraped elements
};

Call the scraper function with the rules object or the external URL.

magicScraper(rules, [options]);
// OR
magicScraper('https://example.com/rules.json', [options]);

Rules definition

const rules = {
  // Global rules for the entire example.com domain
  'example.com': {
    title: 'h1',
    content: '.main-content',
    pages: {
      // Specific rules for the homepage of example.com
      '/': {
        subtitle: '.subtitle',
        featuredImage: '.featured-image',
      },
      // Fallback rules for any other page under example.com
      '*': {
        defaultTitle: 'h2',
      },
    },
      // Specific rules for any page under the blog subdomain
      'blog.example.com/*': {
        blogTitle: '.blog-title',
        blogContent: '.blog-content',
      },
      // Wildcard rules for any subdomain under example.com
      '*.example.com': {
        subdomainTitle: '.subdomain-title',
      },
      // Wildcard rules for any page under the about subdomain
      'about.example.com/*': {
        aboutSection: '.about-section',
      }
  },
  // Global rules for the entire test.com domain
  'test.com': {
    title: 'h1',
    testContent: '.test-content',
  },
  // Fallback rules for any other domain not specified above
  '*': {
    defaultTitle: 'h1',
    defaultContent: '.main-content',
  },
};