网页抓取 - SEO/网络爬虫工具,用于计算标题数量(H1,H2,H3..)



有谁知道一个工具或脚本可以抓取我的网站并计算我网站内每个页面上的标题数量? 我想知道我的网站中有多少页面有超过 4 个标题 (h1)。 我有尖叫青蛙,但它只计算前两个 H1 元素。 任何帮助,不胜感激。

My Xidel 可以做到这一点,例如:

 xidel http://stackoverflow.com/questions/14608312/seo-web-crawling-tool-to-count-number-of-headings-h1-h2-h3 -e 'concat($url, ": ", count(//h1))' -f '//a[matches(@href, "http://[^/]*stackoverflow.com/")]'

-e 参数中的 xpath 表达式告诉它计算 h1 标签和 -f 选项在哪些页面上

这是一个非常具体的任务,我建议你自己写。您需要的最简单的东西是XPATH选择器来为您提供h1/h2/h3标签。

计算标题:

  1. 选择您喜欢的编程语言中的任何一种。
  2. 针对您网站上的页面(Ruby,Perl,PHP)发出Web请求。
  3. 解析 HTML。
  4. 调用 XPATH 标题选择器并计算它返回的元素数。

抓取您的网站:

对所有网页执行第 2 步到第 4 步(您可能需要有一个要抓取的网页队列)。如果你想抓取所有的页面,那么它会稍微复杂一些:

  1. 抓取您的主页。
  2. 选择所有锚标记。
  3. 从每个href中提取网址,并丢弃任何不指向您网站的网址。
  4. 执行 URL 看到的测试:如果您以前看过它,则丢弃,否则排队等待抓取。

网址看到的测试:

URL

看到的测试非常简单:只需将到目前为止看到的所有URL添加到哈希映射中即可。如果您遇到哈希映射中的 URL,则可以忽略它。如果它不在哈希映射中,请将其添加到爬网队列中。哈希映射的键应该是 URL,值应该是某种结构,允许您保留标题的统计信息:

Key = URL
Value = struct{ h1Count, h2Count, h3Count...}

应该是这样。我知道这似乎很多,但它不应该超过几百行代码!

我在Code Canyon中找到了一个工具:Scrap(e)网站分析器:http://codecanyon.net/item/scrap-website-analyzer/3789481。

正如您将从我的一些评论中看到的那样,有少量的配置,但到目前为止它运行良好。

谢谢贝尼贝拉,我也会看看你的解决方案并报告。

您可以使用 xPather chrome 扩展名或类似扩展名,以及 xPath 查询:

count(//*[self::h1 or self::h2 or self::h3])

由于:

  • SEO/网络爬虫工具,用于计算标题数量(H1,H2,H3...)
  • https://devhints.io/xpath

最新更新