python 은 모든 사람 이 자동 으로 회복 하고 소 파 를 빼 앗 는 기능 을 실현 합 니 다.

최근 사람들 은 친구 들 이 항상 소프트웨어 로 소 파 를 빼 앗 는 것 을 보고 Python 으로 도 놀 이 를 쓰기 로 결정 했다.
1.상태 회복 표 POST
chrome 개발 자 도구 패키지 도 사용 합 니 다.
빨간색 선택 부분 을 제출 해 야 할 부분 으로 선택 하 십시오. 

양식 제출 내용

postdata = { 
    'c': content, #1          
    'owner': owner, #2        ID 
    'source': source, #3     ID 
    't': 3, #4         
    'requestToken': xxx, #5         
    '_rtk': 'xxx', #6         
  } 
2.소파 뺏 기 사고방식
20s 마다 홈 페이지 를 방문 하여 BeautifulSoup 으로 data-id(대응 owner),data-source(대응 source)를 캡 처 합 니 다.
아 날로 그 폼 을 제출 하면 소파 뺏 기 를 완성 할 수 있 습 니 다.
TARGET_ID    소파 뺏 어야 할 친구 ID 모 으 기(data-id)
REPLY_ID      답장 한 상태 ID 집합 저장(data-source)
상기 두 집합 을 통 해 댓 글 을 반복 하지 않 고 친 구 를 지정 한 상태 만 댓 글 할 수 있 습 니 다.

#coding=utf8 
import re 
import urllib 
import urllib2 
import time 
from bs4 import BeautifulSoup 
 
__author__ = 'SnOw' 
COOKIE = '   COOKIE' 
HEADERS = {'cookie': COOKIE, 
      'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36' 
} 
TARGET_ID = set(['5002986XX']) #          ID 
REPLY_ID = set() 
 
def load_status(): 
  URL = 'http://www.renren.com/' 
  req = urllib2.Request(URL, headers=HEADERS) 
  page = '' 
  try: 
    page = urllib2.urlopen(req).read() 
  except: 
    print 'urlopen error' 
  soup = BeautifulSoup(page) 
  for i in soup.find_all('figure'): 
    # print i.get('data-id') 
    if i.get('data-id') in TARGET_ID: 
      owner_id = i.get('data-id') 
      source_id = i.get('data-source') 
      if source_id not in REPLY_ID: 
        auto_reply(owner_id, source_id) 
        print i.get('data-id') + ' ' + source_id 
      else: 
        print 'replyed this status' 
 
def auto_reply(owner, source): 
  url = 'http://status.renren.com/feedcommentreply.do?fin=0&ft=status&ff_id=' + str(owner) 
  content = '(shafa10) ' + time.strftime(' %H %M %S ') + " ~" 
  postdata = { 
    'c': content, #1 
    'owner': owner, #2 
    'source': source, #3 
    't': 3, #4 
    'requestToken': -7683150XX, #5      
    '_rtk': '9df56fXX', #6<span style="white-space:pre;">  </span>     
  } 
  req = urllib2.Request(url, urllib.urlencode(postdata), headers=HEADERS) 
  page = urllib2.urlopen(req).read() 
  REPLY_ID.add(source) 
 
 
while True: 
  load_status() 
  time.sleep(20) 
  print time.strftime('%H:%M:%S') 
효과 도

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기