Advertisement
Guest User

Untitled

a guest
Dec 19th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.80 KB | None | 0 0
  1. from engine.as_hlp import *
  2. #~ from engine.as_mail import asMail
  3. #~ from engine.as_mysql import asMysql
  4. from engine.threadbody import ThreadBodyBase
  5.  
  6. class ThreadBody(ThreadBodyBase):
  7.     ''' Бот. Сама работа. Никаких конфигов '''
  8.  
  9.     def init(self, parent, tid=0, http_debug=False, load_proxy=True):
  10.         return super(self.__class__, self).init(parent, tid, http_debug, load_proxy=load_proxy)
  11.  
  12.    
  13.     #################        WORKERS      ##############################
  14.  
  15.     def download(self, link):
  16.        
  17.         # Качаем блогеров, по буквам
  18.        
  19.         self.log('Качаем страницу')
  20.                    
  21.         page = self.http.get(link)
  22.        
  23.         if not page:
  24.             self.log('Не удалось скачать', '!')
  25.             return False
  26.            
  27.         self.log('Парсим ники блогеров')
  28.        
  29.         nicks = hlp.parse_all('<a class="dark" href="([^"]+)', page)
  30.                
  31.         if not nicks:  
  32.             self.log('Не удалось скачать ники блогеров', '-')
  33.             return False
  34.            
  35.         self.log('Парсим страницу блогера и чекаем на наличеи соц. ссылок')
  36.        
  37.         clean_links = []
  38.        
  39.         # Обрезаем не нужные данные из ссылки на блогера
  40.         for link in nicks:
  41.             clean_links.append(link[5:])
  42.         self.log(clean_links[1])
  43.                
  44.         facebook = []
  45.         twitter = []
  46.         life_j = []
  47.        
  48.         for link in clean_links:
  49.            
  50.             # Проверяем на наличие facebooke
  51.            
  52.             page = self.http.get('http://www.echo.msk.ru/users{}profile.html'.format(link))
  53.             string = hlp.parse('a href="http:\/\/www\.facebook\.com\/profile\.php\?id=([^"]+)', page)
  54.             if not string:
  55.                 continue
  56.             else:
  57.                 facebook.append('http://www.facebook.com/profile.php?id=' + string)
  58.            
  59.             # Проверяем на наличеие twitter
  60.                
  61.             string = hlp.parse('<span><a href="http:\/\/twitter.com\/([^"]+)', page)
  62.             if not string:
  63.                 continue
  64.             else:
  65.                 twitter.append('http://twitter.com/' + string)
  66.            
  67.             # Проверяем на наличие lifejournal
  68.                
  69.             string_all = hlp.parse_all('<span><a href="([^"]+)', page)
  70.                
  71.             if not string_all:
  72.                 continue
  73.             else:
  74.                 for link in string_all:
  75.                     a = link.split('.')
  76.                     for i in a:
  77.                         if i == 'livejournal':
  78.                             self.log(link)
  79.                             life_j.append(link)
  80.                         else:
  81.                             continue
  82.         return facebook, twitter, life_j
  83.                
  84.     def worker_parser(self, acc, tid):
  85.         '''
  86.         <softid>echo_msk__parser__TNYEWL.BKH2SP.YWUUOW.DQIXAZ.MUUD3M.NIBFMZ.GZUV</softid>
  87.         воркер для модуля parser
  88.         @str acc - задание, переданное потоку, например акк "111:222"
  89.         @int tid - номер потока
  90.         @return None/skip/repeat
  91.         '''
  92.  
  93.        
  94.         a,b,c = self.download(acc)
  95.         self.log(a)
  96.         self.log(b)
  97.         self.log(c)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement