前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎样用python爬虫实现自动监测百度是否收录域名

怎样用python爬虫实现自动监测百度是否收录域名

作者头像
风柏杨4711
发布2022-08-15 14:34:39
8960
发布2022-08-15 14:34:39
举报
文章被收录于专栏:技术小牛技术小牛

怎样用python爬虫实现自动监测百度是否收录域名 在一些新站点上线时,具有SEO意识的公司/人往往会非常关注自己的网站(域名)是否已经被百度收录了,因为只有百度能搜索得到,你的网站才是真正意义上的在这个世界上存在了(这里援引了一个典故–此前我在某本书里看到一个挺有意思的说法: 在网络时代,如果你不知道世界上是否存在某样事物,就百度一下,如果查不到,就可以认为它不存在)。

那怎样确认自己的站点是否被百度收录呢?最直接的办法当然是直接搜索网站名称(通常是首页的标题title),但理论上来说,这个办法并不准确,因为有可能已经收录了,但因为权重问题,排名靠后,所以理论上你得将所有搜索结果页都翻遍了都没有才能确认是没收录,工作量太吓人了吧,肯定有更好的办法。

对seo有所了解的人肯定会知道另一个命令:site:xxx.com,就能将该站点已经收录的所有页面列出来,是精准的,但人的精力是有限的,时不时跑来看一下是否收录浪费时间,能不能通过机器做这个事情呢?

可以的,而且很简单, 我用python写了个小爬虫,隔一会自动去抓取最新的site命令结果,并将结果自动发送到企业微信里,这里就达到了自动监控的目的,非常方便智能,下面分享下实例代码:

首先得先安装requests和lxml两个模块

代码语言:javascript
复制
pip install requests
pip install lxml

以下是具体的代码

代码语言:javascript
复制
#通过抓取某个域名的site指令结果,判断是否已被百度收录代码
import json

import requests
from lxml import etree
import time
if __name__ == '__main__':
    while True:
        domain = 'xxx.com'
        url = 'https://www.baidu.com/s?ie=UTF-8&wd=site%3A'+domain
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
        }
        response = requests.get(url=url, headers=headers)
        dom = etree.HTML(response.text)
        #通过xpath解析页面结构以判断是否有收录链接
        resultList = dom.xpath('//div[contains(@class,"c-container")]')
        if len(resultList) > 0:
            msg = '百度已收录'+domain+',收录数量'+str(len(resultList))
        else:
            msg = '百度未收录'+domain
        print('抓取完毕!!!', msg, '\n')
        #将收录结果发送到企业微信
        qiWeiWebHook = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx'
        postHeaders = {
            'Content-Type': 'application/json'
        }
        msgData = {
            "msgtype": "text",
            "text": {
                "content": msg
            }
        }
        postResponse = requests.post(qiWeiWebHook, headers=postHeaders, data=json.dumps(msgData))
        print(postResponse.text)
        #每小时爬取一次
        time.sleep(3600)

注意: 1)变量qiWeiWebHook 是企业微信内部群聊机器人里的webhook链接,工作中用于自动发送一些汇报数据或警告非常有用,如果不需要使用微信微信发送,可以注释掉这部分的代码; 2)上面的收录数量只是一页的,如果需要全部的收录数量,需要进行翻页处理并求和即可得到; 以下是运行效果:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 怎样用python爬虫实现自动监测百度是否收录域名 在一些新站点上线时,具有SEO意识的公司/人往往会非常关注自己的网站(域名)是否已经被百度收录了,因为只有百度能搜索得到,你的网站才是真正意义上的在这个世界上存在了(这里援引了一个典故–此前我在某本书里看到一个挺有意思的说法: 在网络时代,如果你不知道世界上是否存在某样事物,就百度一下,如果查不到,就可以认为它不存在)。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档