>  기사  >  백엔드 개발  >  Python 스크립트를 사용하여 Baidu와 Google을 핑하는 방법

Python 스크립트를 사용하여 Baidu와 Google을 핑하는 방법

高洛峰
高洛峰원래의
2017-02-03 16:10:493019검색

Ping 서비스

Ping은 XML_RPC 표준 프로토콜을 기반으로 하는 업데이트 알림 서비스로, 검색 엔진이 콘텐츠 업데이트를 크롤링하고 업데이트할 수 있도록 블로그에서 검색 엔진에 신속하게 알리는 데 사용됩니다. 적시에.

컴퓨터는 RPC 클라이언트와 동일하며 RPC 서버에 대한 요청을 시작하고 메서드의 실행 결과를 수락하는 데 사용됩니다.

Python 구현 방법

Python에는 XMLRPClib가 내장되어 있어 XMLRPC 프로토콜을 쉽게 처리할 수 있어 패킷 언패킹 문제가 발생하지 않습니다.

사용법은 매우 간단합니다. 먼저 라이브러리를 가져옵니다.

import xmlrpclib

xmlrpc 서버 객체 생성:

sever = xmlrpclib.ServerProxy(ServerProxy)

여기서 ServerProxy는 검색 엔진 RPC 서버 끝점 주소입니다.

그런 다음 RPC 서버 메소드를 실행할 수 있습니다. Baidu를 예로 들어 보겠습니다.

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

weblogUpdates.extendedPing은 4개의 매개변수를 사용하여 실행해야 하는 메소드입니다. 괄호 안은 Baidu ping 서비스 페이지에서 필요합니다. 결과는 메서드가 반환한 실행 결과입니다.

패키징 코드

ping_all 함수에 ping이 필요한 링크를 넣으면, 필요에 따라 매개변수가 전달됩니다.

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

요약

위 내용은 이 글의 전체 내용입니다. Python을 배우거나 사용하는 모든 사람에게 도움이 되기를 바랍니다. 질문이 있으시면 메시지를 남겨서 소통하실 수 있습니다.

Python 스크립트를 사용하여 Baidu와 Google을 ping하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.