用于计算标题数量的SEO / Web爬行工具(H1,H2,H3 ...)

时间:2013-01-30 16:01:48

标签: seo web-scraping web-crawler html-heading

是否有人知道会抓取我的网站并计算我网站中每个网页上的标题数量的工具或脚本?我想知道我网站上有多少页有超过4个标题(h1)。我有Screaming Frog,但它只计算前两个H1元素。任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:1)

这是一项特殊的任务,我建议你自己写一下。您需要的最简单的事情是XPATH selector to give you the h1/h2/h3 tags

计算标题:

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

    对所有页面执行步骤2到步骤4(您可能必须拥有要爬网的页面队列)。如果您想抓取所有页面,那么它会更复杂一些:

    1. 抓取您的主页。
    2. Select all anchor tags
    3. 从每个href中提取网址,并丢弃所有未指向您网站的网址。
    4. 执行URL看到的测试:如果您之前已经看过它,则丢弃,否则排队等待抓取。
    5. 网址 - 测试:

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

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

      那应该是关于它的。我知道它似乎很多,但它不应该超过几百行代码!

答案 1 :(得分:1)

我的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-tags和页面上的-f选项

答案 2 :(得分:0)

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

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

感谢BeniBela,我也会看看你的解决方案并报告回来。

答案 3 :(得分:0)

您可以使用xPather chrome extension或类似内容,以及xPath查询:

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

感谢: