仪表盘报告 - 网络爬虫用户代理

这是 Web Crawler 用户代理的仪表板报告的 SQL 版本。

此仪表板报告列出了按页面浏览量排序的顶级 Web Crawler 用户代理,从而深入了解哪些爬虫在网站上最活跃。

--[params]
-- date :start_date = 2024-01-06
-- date :end_date = 2024-02-07

SELECT
  user_agent,
  SUM(count) AS pageviews
FROM web_crawler_requests
WHERE date BETWEEN :start_date AND :end_date
GROUP BY user_agent
ORDER BY pageviews DESC

SQL 查询说明

  • 参数:查询接受两个参数 :start_date:end_date,它们定义了报告的时间范围。两个日期参数都接受 YYYY-MM-DD 格式。
  • SELECT:查询从 web_crawler_requests 表中检索数据,该表记录了 Web Crawler 对论坛的请求。此表中的每条记录都包含爬虫的 user_agent 和页面浏览量 count
  • SUMSUM(count) 函数计算指定日期范围内每个 user_agent 的总页面浏览量。
  • 过滤WHERE 子句使用 date 列过滤记录,仅包括那些落在指定日期范围内的记录。
  • 聚合GROUP BY 子句按 user_agent 对结果进行分组,确保数据按每个 Web Crawler 单独汇总。
  • 排序ORDER BY 子句按 pageviews 的降序对结果进行排序,将最活跃的 Web Crawler 放在报告的顶部。

:discourse: web_crawler_requests 表中的记录会在 30 天后自动删除。此报告的结果仅在运行报告后的过去 30 天内可用,但是,您仍然可以使用此查询的数据参数来过滤过去 30 天内的结果。

示例结果

user_agent pageviews
Mozilla/5.0 (compatible; SeekportBot; +https://bot.seekport.com) 1406
Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) 724
Mozilla/5.0 (compatible; DataForSeoBot/1.0; +https://dataforseo.com/dataforseo-bot) 533
2 个赞

我有一个小小的愿望。有些用户代理字符串太长了,不将鼠标悬停在上面就看不到全部内容。而且我无法从鼠标悬停中复制爬虫信息 URL:

如果报告能解析包含的 URL 并显示一个链接或按钮就太好了:

1 个赞