博客标题抓取

问题描述 投票:0回答:1

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

我的问题是:我想将一篇博文的标题捕获到一个prop变量中,并将它的作者捕获到另一个prop变量中。

我的想法是创建一个只关注 /blog 路径的页面加载规则。从那里我会抓取页面寻找定义它的类,然后通过 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>

我创建了一个页面规则选择我的道具并将其设置为:

div.field.field-name-title.innerText
但是当我设置它时,我所看到的只是“div.field.field-name-title.innerText”

我是不是以错误的方式解决了这个问题?

adobe-analytics
1个回答
1
投票

您在文本字段中输入的值是文字,但

%data_element%
语法除外,它表示对 Data Element 的引用(还有一些其他内置变量引用)。

要点是,如果您想从抓取的页面内容中填充 Adobe Analytics 变量,您需要创建一个返回所需值的 Data Element,然后在 Adobe Analytics 变量的文本字段中引用该 Data Element .

除此之外,您的选择器是错误的。你所做的是 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>

数据元素:文章标题

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

转到规则

>
数据元素
>
创建新数据元素

使用以下内容填写字段:

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

然后,单击保存更改


数据元素:文章作者

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

转到规则

>
数据元素
>
创建新数据元素

使用以下内容填写字段:

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

然后,单击保存更改


页面加载规则:填充变量

最后,在 Page Load Rule 的各种表单字段中,您现在可以使用 %data_element_name% 语法引用

Data Elements

提示: 一旦您开始输入 Data Element 名称(以

%
前缀开头),DTM 将显示一个自动完成对话框,列出匹配的 Data Elements

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

_satellite.getVar('data_element_name');

'data_element_name'
是您的Data Element 的名称。

例子:

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

注意: 与表单字段语法不同,您应该

%

包裹数据元素的名称
© www.soinside.com 2019 - 2024. All rights reserved.