47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
import datetime
|
|
|
|
from DrissionPage.errors import ElementNotFoundError
|
|
|
|
from database.tinformationsource.model import TInformationSource
|
|
from database.tnews.model import TNews
|
|
from log.log_manager import logger
|
|
from seek.content_base import ContentBase
|
|
|
|
|
|
class ArticleContent(ContentBase):
|
|
def __init__(self, news: TNews):
|
|
super().__init__(news)
|
|
|
|
def get_content(self):
|
|
content_ = ''
|
|
try:
|
|
content_ = self.session.s_ele('.^info-content').text
|
|
except ElementNotFoundError:
|
|
content_ = 'not found element'
|
|
return content_
|
|
|
|
|
|
def get_content(information_source: TInformationSource) -> list:
|
|
article_content = ArticleContent(information_source)
|
|
result = article_content.get_content()
|
|
article_content.finish()
|
|
return result
|
|
|
|
|
|
def content_task(news: TNews):
|
|
logger.info(f'{news.title} news_task start execute at {datetime.datetime.now()}', )
|
|
ofweek_com_ai = ArticleContent(news)
|
|
ofweek_com_ai.do_seek_task()
|
|
ofweek_com_ai.finish()
|
|
logger.info(f'{news.title} news_task end execute at {datetime.datetime.now()}')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
logger.info('This module is not for direct call!')
|
|
news_ = TNews()
|
|
news_.is_static = True
|
|
news_.url = 'https://sz.news.anjuke.com/louping-965203-pan528488.html'
|
|
content = get_content(news_)
|
|
logger.info(content)
|
|
logger.info('Done.')
|