php网页抓取标题(我的Xidel可以计算哪些页面上的标题数量的工具或脚本)
优采云 发布时间: 2022-03-04 04:22php网页抓取标题(我的Xidel可以计算哪些页面上的标题数量的工具或脚本)
用于计算标题数量(H1、H2、H3 ......)的 SEO/Web 抓取工具
有谁知道可以抓取我的 网站 并计算我的 网站 上每一页上的标题数量的工具或脚本?我想知道我在 网站 上有多少页超过 4 (h1)。我有 Screaming Frog,但它只计算前两个 H1 元素。感谢任何帮助。
我的 Xidel 可以做到这一点,例如:
1
xidel -e 'concat($url,":", count(//h1))' -f '//a[matches(@href,"http://[^/]*/") ]'
-e 参数中的 xpath 表达式告诉它要在哪些页面上计算 h1-tags 和 -f 选项
这是一个特殊的任务,我建议你自己写。您需要的最简单的方法是使用 XPATH 选择器为您提供 h1/h2/h3 标签。
计算标题:
选择您喜欢的任何编程语言。向 网站(Ruby、Perl、PHP)上的页面发出 Web 请求。解析 HTML。调用 XPATH 标头选择器并计算它返回的元素数。
搜索您的 网站:
对所有页面执行步骤 2 到 4(您可能需要抓取的页面队列)。如果要爬取所有页面,就复杂一点:
检索您的主页。选择所有锚标记。从每个 href 中提取 URL 并丢弃任何不指向您的 网站 的 URL。做一个看到 URL 的测试:如果你以前看过它,就把它扔掉,否则它会被抓取。
URL可见测试:
查看 URL 的测试非常简单:只需将您目前看到的所有 URL 添加到 hashmap 中。如果您在 hashmap 中遇到 URL,您可以忽略它。如果它不在 hashmap 中,请将其添加到爬网队列中。hashmap 的键应该是 URL,值应该是某种结构,可以让您保留对标头的统计信息:
1
2
键 = 网址
值 = 结构 { h1Count, h2Count, h3Count...}
应该是这样的。我知道它看起来很多,但它不应该超过几百行代码!
您可以使用 xPather chrome 扩展或类似扩展,并使用 xPath 进行查询:
1
count(//*[self::h1 or self::h2 or self::h3])
谢谢:
我在 Code Canyon 中找到了一个工具:Scrap(e)网站 Analyzer:。
正如您从我的一些评论中看到的那样,配置的数量很少,但到目前为止它运行良好。
谢谢 BeniBela,我也会研究您的解决方案并向您报告。