如何做搜索引擎蜘蛛日志分析
搜索引擎蜘蛛日志文件是一种非常强大但未被站长充分利用的文件,分析它可以获取有关每个搜索引擎如何爬取网站内容的相关信息点,及查看搜索引擎蜘蛛在一段时间内的行为。
| IP地址(25) | 服务器名称 | 所属国家 |
|---|---|---|
| 59.82.84.32 | 59.82.84.32 | CN |
| 59.82.84.69 | 59.82.84.69 | CN |
| 59.82.84.40 | 59.82.84.40 | CN |
| 59.82.84.91 | 59.82.84.91 | CN |
| 59.82.84.85 | 59.82.84.85 | CN |
| 59.82.61.23 | 59.82.61.23 | CN |
| 59.82.61.33 | 59.82.61.33 | CN |
| 59.82.61.61 | 59.82.61.61 | CN |
| 59.82.61.19 | 59.82.61.19 | CN |
| 59.82.61.11 | 59.82.61.11 | CN |
| 8.142.32.202 | 8.142.32.202 | CN |
| 39.103.217.225 | 39.103.217.225 | CN |
| 8.142.156.176 | 8.142.156.176 | CN |
| 8.142.47.14 | 8.142.47.14 | CN |
| 8.142.112.208 | 8.142.112.208 | CN |
| 39.98.123.102 | 39.98.123.102 | CN |
| IP地址(3) | 服务器名称 | 所属国家 |
|---|---|---|
| 59.82.21.31 | 59.82.21.31 | CN |
| 59.82.83.91 | 59.82.83.91 | CN |
| 59.82.83.75 | 59.82.83.75 | CN |
对于未知蜘蛛或者爬虫。它的用途对网站来说可能是好的,也可能是坏的,这取决于它是什么。所以说,这需要站长进一步分析判断这些尚不明确的爬虫行为,再作最终决定。 但,根据以往的经验,未声明行为目的及未命名的蜘蛛爬虫,通常都有不可告人的秘密,我们理应对其行为进行控制,比如拦截。
您可以通过在网站的 robots.txt 中设置用户代理访问规则来屏蔽 DingTalkBot 或限制其访问权限。我们建议安装 Spider Analyser 插件,以检查它是否真正遵循这些规则。
# robots.txt # 下列代码一般情况可以拦截该代理 User-agent: DingTalkBot Disallow: /
您无需手动执行此操作,可通过我们的 Wordpress 插件 Spider Analyser 来拦截不必要的蜘蛛或者爬虫。
DingTalk Bot是阿里钉钉自定义机器人的Ruby库. 一般情况下,您很少机会在您的网站的访问日志看到DingTalkBot的足迹,除非有人在阿里钉钉分享传播您的网站内容。
官方文档:阿里钉钉自定义机器人.
从rubygems中安装:
gem install dingbot
添加到Gemfile中:
gem 'dingbot'
初始化客户端:
# 全局配置方式 DingBot.configure do |config| config.endpoint = 'https://oapi.dingtalk.com/robot/send' # API endpoint URL, default: ENV['DINGTALK_API_ENDPOINT'] or https://oapi.dingtalk.com/robot/send config.access_token = 'your access token' # access token, default: ENV['DINGTALK_ACCESS_TOKEN'] config.secret = "your sign secret" # sign secret end # 局部配置方式 DingBot.endpoint='https://oapi.dingtalk.com/robot/send' DingBot.access_token = 'your access token' DingBot.secret = "your sign secret" # sign secret
发送消息
# 快速发送一套只包含文本的Text消息(不需要构造Message对象)
def send_simple_text
DingBot.send_text('我就是我, 是不一样的烟火')
end
# 发送复杂Text消息
def send_text
message = DingBot::Message::Text.new(
'我就是我, 是不一样的烟火',
['1371xxxx117'],
false
)
DingBot.send_msg(message)
end
# 发送Link消息
def send_link
message = DingBot::Message::Link.new(
'我就是我, 是不一样的烟火',
'这个即将发布的新版本,创始人陈航(花名“无招”)称它为“红树林”。',
'https://www.dingtalk.com/',
'https://avatars1.githubusercontent.com/u/64818'
)
DingBot.send_msg(message)
end
# 发送Markdown消息
def send_markdown
DingBot.send_markdown('我就是我, 是不一样的烟火', '### 我就是我, 是不一样的烟火')
end
# 发送整体跳转ActionCard消息
def send_whole_action_card
message = DingBot::Message::WholeActionCard.new(
'乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身',
' ### 乔布斯 20 年前想打造的苹果咖啡厅',
'阅读全文',
'https://www.dingtalk.com/'
)
DingBot.send_msg(message)
end
# 发送独立跳转ActionCard类型消息
def send_independent_action_card
message = DingBot::Message::IndependentActionCard.new(
'乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身',
' ### 乔布斯 20 年前想打造的苹果咖啡厅',
[
DingBot::Message::ActionBtn.new('内容不错', 'https://www.dingtalk.com/'),
DingBot::Message::ActionBtn.new('不感兴趣', 'https://www.dingtalk.com/')
]
)
DingBot.send_msg(message)
end
# 发送FeedCard类型
def send_feed_card
message = DingBot::Message::FeedCard.new(
[
DingBot::Message::FeedCardLink.new(
'时代的火车向前开',
'https://avatars1.githubusercontent.com/u/64818',
'https://www.dingtalk.com/'
),
DingBot::Message::FeedCardLink.new(
'时代的火车向前开',
'https://avatars1.githubusercontent.com/u/64818',
'https://www.dingtalk.com/'
)
]
)
DingBot.send_msg(message)
end
更为详细的用法请见此链接:https://github.com/thierryxing/dingtalk-bot/blob/master/test/dingbot_test.rb
(工作日 10:00 - 18:30 为您服务)