Python 스 크 립 트 를 이용 하여 ping 百 度 와 google 을 실현 하 는 방법
ping 은 XML 기반RPC 표준 프로 토 콜 의 업데이트 알림 서 비 스 는 블 로그 에서 내용 업 데 이 트 를 검색엔진 에 신속하게 알 리 고 검색엔진 이 신속하게 캡 처 하고 업데이트 할 수 있 도록 합 니 다.
컴퓨터 는 RPC Client 에 해당 하 며 RPC Server 에 요청 하고 방법의 실행 결 과 를 받 아들 이 는 데 사 용 됩 니 다.
Python 실현 방법
파 이 썬 은 XML RPClib 를 내장 하여 XML RPC 프로 토 콜 을 편리 하 게 처리 하여 패키지 해 지 의 번 거 로 움 을 면 할 수 있 습 니 다.
사용법 이 간단 합 니 다.먼저 라 이브 러 리 가 져 오기:
import xmlrpclib
xmlrpc 서버 대상 생 성:
sever = xmlrpclib.ServerProxy(ServerProxy)
이 중 ServerProxy 는 검색엔진 의 RPC 서버 터미널 주소 다.그리고 RPC 서버 를 실행 할 수 있 습 니 다.바 이 두 를 예 로 들 면:
result = server.weblogUpdates.extendedPing(blog_name,index_addr,new_post_addr,rss_addr)
weblogUpdates.extendedPing
실행 해 야 할 방법 입 니 다.그 중에서 괄호 중의 네 개의 매개 변 수 는 바 이 두 핑 서비스 페이지 에서 요구 하 는 것 입 니 다.result 는 방법 이 되 돌아 오 는 실행 결과 입 니 다.패키지 코드
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 을 배우 거나 사용 하 는 데 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.