Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from engine.as_hlp import *
- #~ from engine.as_mail import asMail
- #~ from engine.as_mysql import asMysql
- from engine.threadbody import ThreadBodyBase
- class ThreadBody(ThreadBodyBase):
- ''' Бот. Сама работа. Никаких конфигов '''
- def init(self, parent, tid=0, http_debug=False, load_proxy=True):
- return super(self.__class__, self).init(parent, tid, http_debug, load_proxy=load_proxy)
- ################# WORKERS ##############################
- def download(self, link):
- # Качаем блогеров, по буквам
- self.log('Качаем страницу')
- page = self.http.get(link)
- if not page:
- self.log('Не удалось скачать', '!')
- return False
- self.log('Парсим ники блогеров')
- nicks = hlp.parse_all('<a class="dark" href="([^"]+)', page)
- if not nicks:
- self.log('Не удалось скачать ники блогеров', '-')
- return False
- self.log('Парсим страницу блогера и чекаем на наличеи соц. ссылок')
- clean_links = []
- # Обрезаем не нужные данные из ссылки на блогера
- for link in nicks:
- clean_links.append(link[5:])
- self.log(clean_links[1])
- facebook = []
- twitter = []
- life_j = []
- for link in clean_links:
- # Проверяем на наличие facebooke
- page = self.http.get('http://www.echo.msk.ru/users{}profile.html'.format(link))
- string = hlp.parse('a href="http:\/\/www\.facebook\.com\/profile\.php\?id=([^"]+)', page)
- if not string:
- continue
- else:
- facebook.append('http://www.facebook.com/profile.php?id=' + string)
- # Проверяем на наличеие twitter
- string = hlp.parse('<span><a href="http:\/\/twitter.com\/([^"]+)', page)
- if not string:
- continue
- else:
- twitter.append('http://twitter.com/' + string)
- # Проверяем на наличие lifejournal
- string_all = hlp.parse_all('<span><a href="([^"]+)', page)
- if not string_all:
- continue
- else:
- for link in string_all:
- a = link.split('.')
- for i in a:
- if i == 'livejournal':
- self.log(link)
- life_j.append(link)
- else:
- continue
- return facebook, twitter, life_j
- def worker_parser(self, acc, tid):
- '''
- <softid>echo_msk__parser__TNYEWL.BKH2SP.YWUUOW.DQIXAZ.MUUD3M.NIBFMZ.GZUV</softid>
- воркер для модуля parser
- @str acc - задание, переданное потоку, например акк "111:222"
- @int tid - номер потока
- @return None/skip/repeat
- '''
- a,b,c = self.download(acc)
- self.log(a)
- self.log(b)
- self.log(c)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement