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

高洛峰
Libérer: 2017-02-03 16:10:49
original
3034 Les gens l'ont consulté

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
Copier après la connexion

Générer l'objet serveur xmlrpc :

sever = xmlrpclib.ServerProxy(ServerProxy)
Copier après la connexion

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)
Copier après la connexion

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()
Copier après la connexion

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 !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal