利用Python脚本实现ping百度和google的方法
2017-01-24 08:42
1251 查看
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 jsonimport 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使用xmlrpclib模块实现对百度google的ping功能
- python使用xmlrpclib模块实现对百度google的ping功能
- 利用Python脚本生成sitemap.xml的实现方法
- python利用字典保存配置实现动态调用模块类方法
- Python实现检测服务器是否可以ping通的2种方法
- 利用python爬取海量疾病名称百度搜索词条目数的爬虫实现
- 利用百度GOOGLE进行站内搜索的方法
- Python实现从脚本里运行scrapy的方法
- Python实现的Google IP 可用性检测脚本
- 利用swig实现python调用C/C++的方法
- Python实现从百度API获取天气的方法
- 微软、google、雅虎、百度等各大著名公司的经典面试题的python实现!
- python脚本实现查找webshell的方法
- JS实现仿google、百度搜索框输入信息智能提示的实现方法
- 利用google的API获取世界城市经纬度(python实现)
- 利用notepad++中安装python脚本实现批量转换文件编码
- 利用Python脚本实现-----登陆新浪微博&批量下载收藏内容
- python实现调用其他python脚本的方法
- 在Win7环境下,利用SWIG实现Python调用C的方法
- 在Win7环境下,利用SWIG实现Python调用C的方法