Example #1
0

class Lawman(Requester):
    """Posts and Users opeartor unit 

       Delete post with post url 
       Ban user with post url(Not avaiable now)  
    """
    def __init__(self, tieba_name="steam", cookie=None):
        Requester.__init__(self, tieba_name, cookie)

    def delete_post(self, delete_page_url):

        delete_page_response = self.get_content(delete_page_url)
        delete_confirm_url = delete_page_response.find('a', text='确认删除')
        delete_confirm_url = self.url_base + delete_confirm_url.get('href')

        delete_result = self.get_content(delete_confirm_url)

        return '成功删除' in delete_result.text

    def ban_user(self, post_url):
        # not avaiable in baidu now
        pass


if __name__ == "__main__":
    cookie, _ = config_reader()
    worker = Lawman(cookie=cookie)
    print(worker.delete_post())
Example #2
0
from eventloop import mainloop
from common import config_reader
import logging

if __name__ == "__main__":
    cookie, tiebaName = config_reader()
    logging.basicConfig(filename='log.txt', level=logging.DEBUG, format='%(asctime)s %(message)s')
    while True:
        try:
            mainloop(tiebaName, cookie)
        except Exception as e:
            logging.warning(str(e))
Example #3
0
import time
import random
import logging
import judgemethods
from common import config_reader


def mainloop(tieba_name='steam', cookie=None):

    tieba_crawler = crawler.TiebaCrawler(tieba_name, cookie)
    tieba_judger = judger.Judger([judgemethods.TxnlpTextJudge()])
    tieba_lawman = lawman.Lawman(tieba_name, cookie)

    logging.info('Starting crawling')
    post_list = tieba_crawler.get_posts()

    for post in post_list:
        if tieba_judger.judge(post):
            tieba_lawman.delete_post(post.get_del_url())
            logging.info("{0} delete success".format(post.get_title()))

    logging.info("All judge finished")

    time.sleep(random.randint(20, 30))


if __name__ == "__main__":
    logging.basicConfig(filename='log.txt', level=logging.DEBUG, format='%(asctime)s %(message)s')
    user_cookie, tieba_name = config_reader()
    mainloop('dota2提问', user_cookie)
Example #4
0
        # get all url postfixes of posts except excellent post
        return posts_list

    @rediscache.postcache
    def __get_content_list(self, url_list):
        """
        Get post content with given url list
        :param url_list:
        :return dict:
        """
        content_list = {}

        for url in url_list:
            content = self.get_content(url)
            if content:
                content_list[url] = content

            time.sleep(config_intervaltime())

        return content_list


if __name__ == "__main__":
    cookie, _ = config_reader()
    tieba_worker = TiebaCrawler(cookie=cookie, tieba_name='dota2提问')
    posts = tieba_worker.get_posts()
    # print((list(map(str, posts))))
    # posts = tieba_worker.get_posts()
    # print((list(map(str, posts))))
    # print(list(map(str, posts[0].reply_list)))
Example #5
0
from eventloop import EventLoop
from common import config_reader
import logging
import sys, os

if __name__ == "__main__":
    cookie, tiebaName = config_reader()
    logging.basicConfig(filename='log.txt', level=logging.DEBUG, format='%(asctime)s %(message)s')
    eventLoop = EventLoop(tiebaName, cookie)
    while True:
        try:
            eventLoop.loop()
        except Exception as e:
            logging.error("Service crashed : {0}".format(e))