ttree/contentinsight

此包的最新版本(dev-master)没有提供许可信息。

从现有网站提取基本内容清单信息的工具

安装: 289

依赖项: 0

建议者: 0

安全性: 0

星级: 2

关注者: 2

分支: 0

开放问题: 0

类型:typo3-flow-package

dev-master 2015-01-04 21:26 UTC

This package is auto-updated.

Last update: 2024-08-26 04:25:28 UTC


README

![构建状态](http://gitlab.ttree.ch:8080/buildStatus/icon?job=OSS ContentInsight Master Commit) 总下载量

此TYPO3 Flow包提供CLI工具,用于从现有网站提取内容清单CSV。

此包处于开发中,被视为测试版。此包需要Flow 2.3。

功能

  • 提取网站结构和基本元数据
  • 支持爬取预设
  • 灵活的报表构建(包括CSV报表构建器,但您可以注册自己的报表构建器)
  • 跳过正则表达式中的URI
  • 根据文档树结构对清单进行排序

待办事项

  • 生成可读的页面ID(如,1,1.1,1.2,2,2.1,2.2,...)
  • 更新报表/多个索引支持
  • 从Google Analytics获取分析数据

配置

请检查Configuration/Settings.yaml以获取详细配置。

默认情况下,此包将所有原始HTTP请求缓存一天。您可以在自己的Settings.yamlCaches.yaml中更改此设置。

基本预设

基本预设会自动与所有预设合并。您可以使用设置presets.[preset_name].properties.[property_name].enabled启用或禁用任何属性。

Ttree:
  ContentInsight:
    presets:
      '*':
        properties:
          'pageTitle':
            enabled: TRUE
          'navigationTitle':
            enabled: TRUE

自定义预设

您可以定义自定义预设以爬取不同类型的信息。使用class设置,您可以使用自己的处理器实现从当前URI获取信息。您的处理器必须实现Ttree\ContentInsight\CrawlerProcessor\ProcessorInterface

Ttree:
  ContentInsight:
    presets:
      'custom':
        properties:
          'pageTitle':
            class: 'Your\Package\CrawlerProcessor\PageTitleProcessor'
          'metaDescription':
            enabled: TRUE
          'metaKeywords':
            enabled: TRUE
          'firstLevelHeader':
            enabled: TRUE

如何构建报表?

此包支持CSV报表,但您可以注册自己的报表构建器。请检查Settings.yaml

Ttree:
  ContentInsight:
    presets:
      'custom':
        reportConfigurations:
          'csv':
            enabled: TRUE
            renderType: 'Csv'
            renderTypeOptions:
              displayColumnHeaders: TRUE
            reportPath: '%FLOW_PATH_DATA%Reports/Ttree.ContentInsight'
            reportPrefix: 'content-inventory-report'
            properties:
              'id':
                label: 'ID'
              'pageTitle':
                label: 'Page Title'
              'navigationTitle':
                label: 'Navigation Title'
              'externalLink':
                label: 'External Link'
                postProcessor: 'Boolean'
              'currentUri':
                label: 'URL'
              'metaDescription':
                label: 'Meta Description'
              'metaKeywords':
                label: 'Meta Keywords'
              'firstLevelHeaderCount':
                label: 'Main Header Count (H1)'
              'firstLevelHeaderContent':
                label: 'Main Header Content (H1)'
              'remark':
                label: 'Crawling Remark'

properties部分中的键必须与CrawlerProcessor对象生成的键匹配。

每个列的位置可以使用以下语法指定:position: '<position-string>' <position-string>支持以下语法之一

    start (<weight>)
    end (<weight>)
    before <key> (<weight>)
    after <key> (<weight>)
    <numerical-order>

示例

Ttree:
  ContentInsight:
    presets:
      'custom':
        reportConfigurations:
          'csv':
            enabled: TRUE
            renderType: 'Csv'
            renderTypeOptions:
              displayColumnHeaders: TRUE
            reportPath: '%FLOW_PATH_DATA%Reports/Ttree.ContentInsight'
            reportPrefix: 'content-inventory-report'
            properties:
              'id':
                label: 'ID'
                position: '<position-string>',
              'pageTitle':
                label: 'Page Title'
                position:'<position-string>'

对于单个爬取预设,如果需要,您可以注册多个报表。对于每个属性,您都可以注册一个后处理器,如果您需要在报表中操作属性,请参阅BooleanPostProcessor的基本示例。

如何跳过特定的URI?

您可以在爬取预设中定义无效URI模式

Ttree:
  ContentInsight:
    presets:
      'custom':
        invalidUriPatterns:
          'javascript':
            pattern: '@^javascript\:void\(0\)$@'
          'mailto':
            pattern: '@^mailto\:.*@'
          'anchor':
            pattern: '@^#.*@'
            message: 'Link to anchor'

如果模式有message,则所有匹配模式的URL都将被记录。默认情况下,爬虫会静默地跳过这些URL。

用法

获取完整的网站清单

# flow contentinventor:extract --base-url http://www.domain.com

或将爬虫限制在网站的某个部分

# flow contentinventor:extract --base-url http://www.domain.com/products

您可以选择爬取预设

# flow contentinventor:extract --base-url http://www.domain.com/products --preset default