【发布时间】:2013-01-14 12:33:19
【问题描述】:
是否有人知道可以抓取我的网站并计算我网站中每个页面上的标题数量的工具或脚本?我想知道我的网站中有多少页面有超过 4 个标题 (h1)。我有 Screaming Frog,但它只计算前两个 H1 元素。任何帮助表示赞赏。
【问题讨论】:
-
您对哪些编程语言感到满意(如果有的话)?
标签: seo web-scraping web-crawler html-heading
是否有人知道可以抓取我的网站并计算我网站中每个页面上的标题数量的工具或脚本?我想知道我的网站中有多少页面有超过 4 个标题 (h1)。我有 Screaming Frog,但它只计算前两个 H1 元素。任何帮助表示赞赏。
【问题讨论】:
标签: seo web-scraping web-crawler html-heading
我的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 选项在哪些页面上
【讨论】:
这是一项非常具体的任务,我只建议您自己编写。您需要的最简单的东西是XPATH selector to give you the h1/h2/h3 tags。
计算标题:
抓取您的网站:
对您的所有页面执行第 2 步到第 4 步(您可能必须有一个要抓取的页面队列)。如果你想爬取所有的页面,那么它会稍微复杂一点:
href 中提取 URL,并丢弃任何不指向您网站的 URL。URL-Seen 测试:
URL-seen 测试非常简单:只需将您目前看到的所有 URL 添加到哈希映射中。如果您遇到哈希映射中的 URL,则可以忽略它。如果它不在哈希图中,则将其添加到爬网队列中。哈希映射的键应该是 URL,值应该是某种结构,可以让您保留标题的统计信息:
Key = URL
Value = struct{ h1Count, h2Count, h3Count...}
应该差不多了。我知道它看起来很多,但它不应该超过几百行代码!
【讨论】:
我在 Code Canyon 中找到了一个工具:Scrap(e) 网站分析器:http://codecanyon.net/item/scrap-website-analyzer/3789481。
正如您从我的一些 cmets 中看到的那样,有少量配置,但到目前为止运行良好。
感谢 BeniBela,我也会查看您的解决方案并进行报告。
【讨论】:
【讨论】: