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

高洛峰
Freigeben: 2017-02-03 16:10:49
Original
2993 Leute haben es durchsucht

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
Nach dem Login kopieren

Xmlrpc-Serverobjekt generieren:

sever = xmlrpclib.ServerProxy(ServerProxy)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!