利用Python脚本实现ping百度和google的方法
作者:PegasusWang 时间:2022-03-21 06:45:37
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()
来源:http://ningning.today/2015/07/30/web/Python脚本ping百度和google/
标签:python,ping,脚本
0
投稿
猜你喜欢
Python常用模块logging——日志输出功能(示例代码)
2022-01-21 15:24:01
新书:《精通CSS网页布局》
2009-01-08 11:57:00
python正则分析nginx的访问日志
2022-07-03 04:57:14
使用网际数据库浏览器在线维护Access数据库
2008-05-23 13:05:00
谈谈网页设计中的字体应用 (1) Font Set
2009-11-24 12:55:00
python中的map函数语法详解
2021-04-29 22:07:00
Python OpenCV读取png图像转成jpg图像存储的方法
2023-01-07 13:23:56
用户分类浅谈
2009-09-27 12:14:00
Python面向对象之静态属性、类方法与静态方法分析
2021-03-28 15:14:22
python利用pytesseract 实现本地识别图片文字
2021-03-08 19:20:34
JavaScript实现简单贪吃蛇效果
2023-08-13 05:48:08
处理Python中的URLError异常的方法
2021-06-04 03:33:15
PyCharm导入python项目并配置虚拟环境的教程详解
2023-08-18 13:31:41
框架iframe子页面,自适应高度方法
2008-06-07 13:31:00
Python+Pygame实现神庙逃亡游戏
2022-06-12 16:26:28
python自动化办公操作PPT的实现
2023-06-14 03:43:47
避免使用滤镜
2009-10-13 20:30:00
python使用Matplotlib绘制分段函数
2022-04-17 16:07:17
python脚本实现统计日志文件中的ip访问次数代码分享
2021-03-17 08:40:08
python网络应用开发知识点浅析
2021-07-15 00:09:48