博客标题抓取

Blog Title Scraping

我想我可能只是把事情复杂化了,而不是保持简单。

我的问题是:我想把一个博客的标题post抓取到一个prop变量中,把它的作者写到另一个prop变量中。

我的想法是创建一个只关注 /blog 路径的页面加载规则。从那里我会抓取页面寻找定义它的 class,然后通过 DTM 将它传递到我的道具中。

<div class="field field-name-title">
  <h2>Online Education</h2>

  <div class="field field-name-body">
    <p>
      <em> by Author Name</em>
    </p>
  </div>
</div>

我创建了一个页面规则,选择我的 prop 并将其设置为:div.field.field-name-title.innerText 但是当我设置它时,我所看到的只是“div.field.field-name-title .innerText

我处理这个问题的方式不对吗?

您在文本字段中输入的值是文字值,但 %data_element% 语法除外,它表示对 数据元素 的引用(有几个其他 built-in 变量引用)。

要点是,如果您想从抓取的页面内容中填充 Adob​​e Analytics 变量,您需要创建一个 数据元素 来 returns 所需的值,并且然后在 Adob​​e Analytics 变量的文本字段中引用 数据元素

除此之外,您的选择器是错误的。您所做的是 css 选择器和 javascript 语法的奇怪组合。

以下是您可以执行的操作示例,基于您发布的 HTML:

<div class="field field-name-title">
  <h2>Online Education</h2>

  <div class="field field-name-body">
    <p>
      <em> by Author Name</em>
    </p>
  </div>
</div>

Data Element: Article Title

首先,根据您的 html 结构,创建一个 数据元素 以从页面获取文章标题。

转到规则 > 数据元素 > 创建新数据元素

使用以下内容填写字段:

  • 姓名: article_title
  • 类型: CSS Selector
  • CSS 选择器链: div.field-name-title h2
  • 获取值: text
  • [X] 使用 cleanText 擦除空格和换行符

然后,单击保存更改


Data Element: Article Author

接下来,根据您的 html 结构,创建另一个 数据元素 以从页面获取文章作者。

转到规则 > 数据元素 > 创建新数据元素

使用以下内容填写字段:

  • 姓名: article_author
  • 类型: CSS Selector
  • CSS 选择器链: div.field-name-body em
  • 获取值: text
  • [X] 使用 cleanText 擦除空格和换行符

然后,单击保存更改


Page Load Rule: Populate Variables

最后,在 页面加载规则 的各种表单字段中,您现在可以使用 [=28= 引用 数据元素 ] 句法。

提示:一旦您开始输入 数据元素 名称(以 % 前缀开头),DTM 将显示auto-complete 对话框,列出 数据元素 匹配。

如果您需要在页面加载规则的 javascript 自定义代码框中引用 数据元素 ,您可以使用以下语法:

_satellite.getVar('data_element_name');

其中 'data_element_name' 是您的 数据元素 的名称。

示例:

s.prop1 = _satellite.getVar('article_title');

注意:与表单字段语法不同,您应该%[=38包裹数据元素的名称=]