【问题标题】:SEO/Web Crawling Tool to Count Number of Headings (H1, H2, H3...)用于计算标题数量(H1、H2、H3 ...)的 SEO/Web 爬网工具
【发布时间】:2013-01-14 12:33:19
【问题描述】:

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

【问题讨论】:

  • 您对哪些编程语言感到满意(如果有的话)?

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


【解决方案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】:

    这是一项非常具体的任务,我只建议您自己编写。您需要的最简单的东西是XPATH selector to give you the h1/h2/h3 tags

    计算标题:

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

    抓取您的网站:

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

    1. 抓取您的主页。
    2. Select all anchor tags
    3. 从每个 href 中提取 URL,并丢弃任何不指向您网站的 URL。
    4. 执行 URL-seen 测试:如果您以前见过它,则丢弃,否则排队等待抓取。

    URL-Seen 测试:

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

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

    应该差不多了。我知道它看起来很多,但它不应该超过几百行代码!

    【讨论】:

      【解决方案3】:

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

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

      感谢 BeniBela,我也会查看您的解决方案并进行报告。

      【讨论】:

        【解决方案4】:

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

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

        感谢:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-17
          • 1970-01-01
          • 2020-10-02
          • 2020-08-23
          • 1970-01-01
          • 1970-01-01
          • 2014-07-09
          相关资源
          最近更新 更多