Heim  >  Artikel  >  Backend-Entwicklung  >  So pingen Sie Baidu und Google mithilfe von Python-Skripten an

So pingen Sie Baidu und Google mithilfe von Python-Skripten an

高洛峰
高洛峰Original
2017-02-03 16:10:492947Durchsuche

Ping-Dienst

Ping ist ein Update-Benachrichtigungsdienst, der auf dem XML_RPC-Standardprotokoll basiert. Er wird von Blogs verwendet, um Suchmaschinen schnell über Inhaltsaktualisierungen zu informieren, damit Suchmaschinen diese crawlen und aktualisieren können rechtzeitig.

Der Computer entspricht dem RPC-Client, der zum Initiieren von Anforderungen an den RPC-Server und zum Akzeptieren der Ausführungsergebnisse der Methode verwendet wird.

Python-Implementierungsmethode

Python verfügt über eine integrierte XMLRPClib, die das XMLRPC-Protokoll problemlos verarbeiten kann, wodurch die Probleme beim Entpacken von Paketen entfallen.

Die Verwendung ist sehr einfach, importieren Sie zuerst die Bibliothek:

import xmlrpclib

Xmlrpc-Serverobjekt generieren:

sever = xmlrpclib.ServerProxy(ServerProxy)

wobei ServerProxy die RPC-Server-Endpunktadresse der Suchmaschine ist.

Dann können Sie die RPC-Servermethode als Beispiel verwenden:

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

weblogUpdates.extendedPing ist die Methode, die ausgeführt werden muss die vier in Klammern Die Parameter sind auf der Baidu-Ping-Service-Seite erforderlich. Ergebnis ist das von der Methode zurückgegebene Ausführungsergebnis.

Paketcode

Fügen Sie einfach den Link, der gepingt werden muss, in die Funktion ping_all ein und die Parameter werden nach Bedarf übergeben.

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

Zusammenfassung

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für jeden beim Erlernen oder Verwenden von Python hilfreich sein kann. Wenn Sie Fragen haben, können Sie zur Kommunikation eine Nachricht hinterlassen.

Weitere verwandte Artikel zur Verwendung von Python-Skripten zum Pingen von Baidu und Google finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn