利用Python脚本实现ping百度和google的方法

 更新时间:2017年01月24日 08:42:45   作者:PegasusWang  
最近在做SEO的时候,为了让发的外链能够快速的收录,想到了利用ping的功能,google和百度都有相关的ping介绍,有兴趣的朋友可以去看看相关的知识。下面这篇文章主要介绍了利用Python脚本实现ping百度和google的方法,需要的朋友可以参考借鉴,一起来看看吧。

Ping服务

ping 是基于 XML_RPC 标准协议的更新通告服务,用于Blog把内容更新快速通知给搜索引擎,以便搜索引擎及时进行抓取和更新。

计算机就相当于 RPC Client ,用于向 RPC Server 发起请求,并接受方法的执行结果。

Python实现方法

Python 内置了 XMLRPClib ,可以很方便地处理XMLRPC协议,免去了封包解包的麻烦。

用法很简单,首先导入库:

import xmlrpclib

生成xmlrpc服务器对象:

sever = xmlrpclib.ServerProxy(ServerProxy)

其中 ServerProxy 是搜索引擎的RPC服务器端点地址。

然后便可以执行RPC服务器的方法了,以百度为例:

result = server.weblogUpdates.extendedPing(blog_name,index_addr,new_post_addr,rss_addr)

weblogUpdates.extendedPing 是需要执行的方法,其中括号中的四个参数是 百度ping服务页面 上所要求的。 result 是方法返回的执行结果。

封装代码

ping_all函数里放上需要ping的链接就可以了,参数按照需求传。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import json
import xmlrpclib
from db import redis


def ping(ping_url, *args, **kwds):
 """args: site_name, site_host, post_url, rss_url."""
 rpc_server = xmlrpclib.ServerProxy(ping_url)
 result = rpc_server.weblogUpdates.extendedPing(*args)
 print result


def ping_all(*args, **kwds):
 ping_url_list = [
 'http://ping.baidu.com/ping/RPC2',
 'http://rpc.pingomatic.com/',
 'http://blogsearch.google.com/ping/RPC2',
 ]
 for url in ping_url_list:
 ping(url, *args, **kwds)


def main():
 client = redis.pubsub()
 client.subscribe(['ping'])
 while True:
 for item in client.listen():
  if item['type'] == 'message':
  msg = item['data']
  if msg:
   post = json.loads(msg)
   print post
   ping_all(post.get('site_name'), post.get('site_host'),
    post.get('post_url'), post.get('rss_url'))


def test():
 site_name = "tech2ipo"
 site_host = "http://alpha.tech2ipo.com"
 post_url = 'http://alpha.tech2ipo.com/100855'
 rss_url = "http://alpha.tech2ipo.com/rss/alpha.tech2ipo.com"
 ping_all(site_name, site_host, post_url, rss_url)


if __name__ == '__main__':
 main()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • django实现后台显示媒体文件

    django实现后台显示媒体文件

    这篇文章主要介绍了django实现后台显示媒体文件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 简单理解Python中基于生成器的状态机

    简单理解Python中基于生成器的状态机

    这篇文章主要介绍了简单理解Python中基于生成器的状态机,来自于IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • Python调用Matplotlib绘制振动图、箱型图和提琴图

    Python调用Matplotlib绘制振动图、箱型图和提琴图

    Matplotlib作为用于数据可视化的Python软件包,能够绘制多种2D图像,它使用简单、代码清晰易懂,深受广大技术爱好者喜爱。本文主要介绍了通过 Matplotlib绘制振动图、箱型图、提琴图,需要的朋友可以参考一下
    2021-12-12
  • Python实现批量将MP3音频转为WAV格式详解

    Python实现批量将MP3音频转为WAV格式详解

    这篇文章主要介绍了通过Python实现将MP3音频转为WAV格式的方法,文中的示例代码讲解详细,对我们学习Python有一定帮助,感兴趣的可以了解一下
    2021-12-12
  • Python pandas索引的设置和修改方法

    Python pandas索引的设置和修改方法

    索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容,下面这篇文章主要给大家介绍了关于Python pandas索引的设置和修改的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Python使用正则表达式实现爬虫数据抽取

    Python使用正则表达式实现爬虫数据抽取

    这篇文章主要介绍了Python使用正则表达式实现爬虫数据抽取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Flask实现swagger在线文档与接口测试流程详解

    Flask实现swagger在线文档与接口测试流程详解

    Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用 Werkzeug,模板引擎则使用Jinja2。Flask使用 BSD 授权。Flask也被称为“microframework”,因为它使用简单的核心,用 extension 增加其他功能,本篇带你用Flask实现swagger在线文档与接口测试
    2022-07-07
  • 使用python向MongoDB插入时间字段的操作

    使用python向MongoDB插入时间字段的操作

    这篇文章主要介绍了使用python向MongoDB插入时间字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python在命令行中使用 pdb 实现断点调试功能

    python在命令行中使用 pdb 实现断点调试功能

    在命令行中设置断点通常需要使用调试工具来实现,下面以 Python 为例介绍如何在命令行中使用pdb实现断点调试,这篇文章主要介绍了python在命令行中使用pdb实现断点调试,需要的朋友可以参考下
    2023-06-06
  • Python列表嵌套常见坑点及解决方案

    Python列表嵌套常见坑点及解决方案

    这篇文章主要介绍了Python列表嵌套常见坑点及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09

最新评论