Greasy Fork

Greasy Fork is available in English.

MagicScraper

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

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

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

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

作者
aolko
版本
0.1
创建于
2023-07-20
更新于
2023-07-20
大小
4.9 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',
  },
};