利用Python腳本實現(xiàn)ping百度和google的方法
Ping服務(wù)
ping 是基于 XML_RPC 標準協(xié)議的更新通告服務(wù),用于Blog把內(nèi)容更新快速通知給搜索引擎,以便搜索引擎及時進行抓取和更新。
計算機就相當于 RPC Client ,用于向 RPC Server 發(fā)起請求,并接受方法的執(zhí)行結(jié)果。
Python實現(xiàn)方法
Python 內(nèi)置了 XMLRPClib ,可以很方便地處理XMLRPC協(xié)議,免去了封包解包的麻煩。
用法很簡單,首先導入庫:
import xmlrpclib
生成xmlrpc服務(wù)器對象:
sever = xmlrpclib.ServerProxy(ServerProxy)
其中 ServerProxy 是搜索引擎的RPC服務(wù)器端點地址。
然后便可以執(zhí)行RPC服務(wù)器的方法了,以百度為例:
result = server.weblogUpdates.extendedPing(blog_name,index_addr,new_post_addr,rss_addr)
weblogUpdates.extendedPing 是需要執(zhí)行的方法,其中括號中的四個參數(shù)是 百度ping服務(wù)頁面 上所要求的。 result 是方法返回的執(zhí)行結(jié)果。
封裝代碼
在ping_all函數(shù)里放上需要ping的鏈接就可以了,參數(shù)按照需求傳。
#!/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()
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家學習或者使用python能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
Python調(diào)用Matplotlib繪制振動圖、箱型圖和提琴圖
Matplotlib作為用于數(shù)據(jù)可視化的Python軟件包,能夠繪制多種2D圖像,它使用簡單、代碼清晰易懂,深受廣大技術(shù)愛好者喜愛。本文主要介紹了通過?Matplotlib繪制振動圖、箱型圖、提琴圖,需要的朋友可以參考一下2021-12-12
Python實現(xiàn)批量將MP3音頻轉(zhuǎn)為WAV格式詳解
這篇文章主要介紹了通過Python實現(xiàn)將MP3音頻轉(zhuǎn)為WAV格式的方法,文中的示例代碼講解詳細,對我們學習Python有一定幫助,感興趣的可以了解一下2021-12-12
Python使用正則表達式實現(xiàn)爬蟲數(shù)據(jù)抽取
這篇文章主要介紹了Python使用正則表達式實現(xiàn)爬蟲數(shù)據(jù)抽取,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08
Flask實現(xiàn)swagger在線文檔與接口測試流程詳解
Flask是一個使用Python編寫的輕量級Web應(yīng)用框架。其WSGI工具箱采用 Werkzeug,模板引擎則使用Jinja2。Flask使用 BSD 授權(quán)。Flask也被稱為“microframework”,因為它使用簡單的核心,用 extension 增加其他功能,本篇帶你用Flask實現(xiàn)swagger在線文檔與接口測試2022-07-07
python在命令行中使用?pdb?實現(xiàn)斷點調(diào)試功能
在命令行中設(shè)置斷點通常需要使用調(diào)試工具來實現(xiàn),下面以 Python 為例介紹如何在命令行中使用pdb實現(xiàn)斷點調(diào)試,這篇文章主要介紹了python在命令行中使用pdb實現(xiàn)斷點調(diào)試,需要的朋友可以參考下2023-06-06

