def testTagsMemberSearchLast(self): path = './test/test-tags-member-search-last.htm' p = open(path, 'r') page = BeautifulSoup(p.read()) image = PixivTags() image.parseMemberTags(page, 313631) # self.assertEqual(len(image.itemList), 10) self.assertEqual(image.itemList[-1].imageId, 1804545) self.assertEqual(image.isLastPage, True)
def testTagsMemberSearchLast(self): br = Browser() path = 'file:///' + os.path.abspath('./test/test-tags-member-search-last.htm').replace(os.sep,'/') p = br.open(path, 'r') page = BeautifulSoup(p.read()) image = PixivTags() image.parseMemberTags(page) ##self.assertEqual(len(image.itemList), 10) self.assertEqual(image.itemList[-1].imageId, 1804545) self.assertEqual(image.isLastPage, True)
def testTagsMemberSearch(self): path = './test/test-tags-member-search.htm' p = open(path, 'r') page = BeautifulSoup(p.read()) image = PixivTags() image.parseMemberTags(page, 313631) self.assertEqual(len(image.itemList), 40) # self.assertEqual(image.itemList[0].imageId, 53977340) # self.assertEqual(image.itemList[19].imageId, 45511597) self.assertEqual(image.isLastPage, False) self.assertEqual(image.availableImages, 73)
def testTagsMemberSearch(self): br = Browser() path = 'file:///' + os.path.abspath('./test/test-tags-member-search.htm').replace(os.sep,'/') p = br.open(path, 'r') page = BeautifulSoup(p.read()) image = PixivTags() image.parseMemberTags(page) self.assertEqual(len(image.itemList), 20) self.assertEqual(image.itemList[0].imageId, 25757869) self.assertEqual(image.itemList[19].imageId, 14818847) self.assertEqual(image.isLastPage, False)
def testTagsMemberSearch(self): br = Browser() path = 'file:///' + os.path.abspath('./test/test-tags-member-search.htm').replace(os.sep, '/') p = br.open(path, 'r') page = BeautifulSoup(p.read()) image = PixivTags() image.parseMemberTags(page, 313631) self.assertEqual(len(image.itemList), 40) # self.assertEqual(image.itemList[0].imageId, 53977340) # self.assertEqual(image.itemList[19].imageId, 45511597) self.assertEqual(image.isLastPage, False) self.assertEqual(image.availableImages, 66)
def testTagsMemberSearch(self): br = Browser() path = 'file:///' + os.path.abspath( './test/test-tags-member-search.htm').replace(os.sep, '/') p = br.open(path, 'r') page = BeautifulSoup(p.read()) image = PixivTags() image.parseMemberTags(page, 313631) self.assertEqual(len(image.itemList), 40) # self.assertEqual(image.itemList[0].imageId, 53977340) # self.assertEqual(image.itemList[19].imageId, 45511597) self.assertEqual(image.isLastPage, False) self.assertEqual(image.availableImages, 70)
def getSearchTagPage(self, tags, current_page, wild_card=True, title_caption=False, start_date=None, end_date=None, member_id=None, oldest_first=False, start_page=1, include_bookmark_data=False): response = None result = None url = '' if member_id is not None: # from member id search by tags (artist, response) = self.getMemberPage(member_id, current_page, False, tags) # convert to PixivTags result = PixivTags() result.parseMemberTags(artist, member_id, tags) else: # search by tags url = PixivHelper.generateSearchTagUrl(tags, current_page, title_caption, wild_card, oldest_first, start_date, end_date, member_id, self._config.r18mode) PixivHelper.print_and_log('info', 'Looping... for ' + url) response = self.getPixivPage(url, returnParsed=False) self.handleDebugTagSearchPage(response, url) result = None if member_id is not None: result = PixivTags() parse_search_page = BeautifulSoup(response) result.parseMemberTags(parse_search_page, member_id, tags) parse_search_page.decompose() del parse_search_page else: try: result = PixivTags() result.parseTags(response, tags, current_page) # parse additional information if include_bookmark_data: idx = 0 print("Retrieving bookmark information...", end=' ') for image in result.itemList: idx = idx + 1 print("\r", end=' ') print("Retrieving bookmark information... [{0}] of [{1}]".format(idx, len(result.itemList)), end=' ') img_url = "https://www.pixiv.net/ajax/illust/{0}".format(image.imageId) response = self._get_from_cache(img_url) if response is None: try: response = self.open_with_retry(img_url).read() except urllib2.HTTPError as ex: if ex.code == 404: response = ex.read() self._put_to_cache(img_url, response) image_info_js = json.loads(response) image.bookmarkCount = int(image_info_js["body"]["bookmarkCount"]) image.imageResponse = int(image_info_js["body"]["responseCount"]) print("") except BaseException: PixivHelper.dumpHtml("Dump for SearchTags " + tags + ".html", response) raise return (result, response)