def create_work_set(self, target_url): u""" 根据target_url(例:http://www.jianshu.com/users/b1dd2b2c87a8/latest_articles)的内容, 先获得creator_id, 再根据文章的数目, 获得页面数, 依次打开每个页面, 将文章的地址放入work_set中 :param target_url: :return: """ if target_url in self.task_complete_set: return id_result = Match.jianshu(target_url) jianshu_id = id_result.group('jianshu_id') # ############下面这部分应该是JianshuAuthorInfo的内容, 完成jianshu_info中的内容,暂时写在这, TODO, 一行只能写一个地址 content_profile = Http.get_content(target_url) parser = JianshuParser(content_profile) self.question_list += parser.get_jianshu_info_list() # #############上面这部分应该是JianshuAuthorInfo的内容, 完成jianshu_info中的内容,暂时写在这 self.task_complete_set.add(target_url) article_num = self.question_list[0][ 'article_num'] # 这样的话, 一行只能写一个地址 TODO: 硬编码 if article_num % 9 != 0: page_num = article_num / 9 + 1 # 博客目录页面, 1页放50个博客链接 else: page_num = article_num / 9 article_list = self.parse_get_article_list(content_profile) for item in article_list: self.work_set.add(item) for page in range(page_num - 1): # 第一页是不需要打开的 url = 'http://www.jianshu.com/users/{}/latest_articles?page={}'.format( jianshu_id, page + 2) content_article_list = Http.get_content(url) article_list = self.parse_get_article_list(content_article_list) for item in article_list: self.work_set.add(item) return
def create_work_set(self, target_url): u""" 根据target_url(例:http://www.jianshu.com/users/b1dd2b2c87a8/latest_articles)的内容, 先获得creator_id, 再根据文章的数目, 获得页面数, 依次打开每个页面, 将文章的地址放入work_set中 :param target_url: :return: """ if target_url in self.task_complete_set: return id_result = Match.jianshu(target_url) jianshu_id = id_result.group('jianshu_id') # ############下面这部分应该是JianshuAuthorInfo的内容, 完成jianshu_info中的内容,暂时写在这, TODO, 一行只能写一个地址 content_profile = Http.get_content(target_url) parser = JianshuParser(content_profile) self.question_list += parser.get_jianshu_info_list() # #############上面这部分应该是JianshuAuthorInfo的内容, 完成jianshu_info中的内容,暂时写在这 self.task_complete_set.add(target_url) article_num = self.question_list[0]['article_num'] # 这样的话, 一行只能写一个地址 TODO: 硬编码 if article_num % 9 != 0: page_num = article_num/9 + 1 # 博客目录页面, 1页放50个博客链接 else: page_num = article_num / 9 article_list = self.parse_get_article_list(content_profile) for item in article_list: self.work_set.add(item) for page in range(page_num-1): # 第一页是不需要打开的 url = 'http://www.jianshu.com/users/{}/latest_articles?page={}'.format(jianshu_id, page+2) content_article_list = Http.get_content(url) article_list = self.parse_get_article_list(content_article_list) for item in article_list: self.work_set.add(item) return
def parse_content(self, content): parser = JianshuParser(content) self.answer_list += parser.get_answer_list()