Maison  >  Article  >  développement back-end  >  Comment envoyer un ping à Baidu et Google à l'aide de scripts Python

Comment envoyer un ping à Baidu et Google à l'aide de scripts Python

高洛峰
高洛峰original
2017-02-03 16:10:493019parcourir

Service Ping

Ping est un service de notification de mise à jour basé sur le protocole standard XML_RPC. Il est utilisé par les blogs pour informer rapidement les moteurs de recherche des mises à jour de contenu afin que les moteurs de recherche puissent les explorer et les mettre à jour. en temps opportun.

L'ordinateur est équivalent au Client RPC, utilisé pour lancer des requêtes vers le Serveur RPC et accepter les résultats d'exécution de la méthode.

Méthode d'implémentation de Python

Python intègre XMLRPClib, qui peut facilement gérer le protocole XMLRPC, éliminant ainsi les problèmes de décompression des paquets.

L'utilisation est très simple, importez d'abord la bibliothèque :

import xmlrpclib

Générer l'objet serveur xmlrpc :

sever = xmlrpclib.ServerProxy(ServerProxy)

où ServerProxy est l'adresse du point de terminaison du serveur RPC du moteur de recherche.

Ensuite, vous pouvez exécuter la méthode du serveur RPC. Prenons Baidu comme exemple :

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

weblogUpdates.extendedPing est la méthode qui doit être exécutée, parmi lesquelles les quatre entre parenthèses Les paramètres sont requis sur la page du service Baidu ping. result est le résultat d’exécution renvoyé par la méthode.

Code d'emballage

Mettez simplement le lien qui doit être pingé dans la fonction ping_all, et les paramètres sont transmis comme requis.

#!/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()

Résumé

Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra être utile à tout le monde dans l'apprentissage ou l'utilisation de Python. Si vous avez des questions, vous pouvez laisser un message pour communiquer.

Pour plus d'articles sur la façon d'utiliser les scripts Python pour pinger Baidu et Google, veuillez prêter attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn