php 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能带来一定的帮助,如果有疑问大家可以留言交流。

更多利用Python脚本实现ping百度和google的方法相关文章请关注PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值