add tests
This commit is contained in:
parent
7cf8c085d1
commit
fe2b2d88b6
6 changed files with 1976 additions and 2 deletions
|
@ -235,6 +235,7 @@ class Edition(Item):
|
|||
IdType.DoubanBook,
|
||||
IdType.Goodreads,
|
||||
IdType.GoogleBooks,
|
||||
IdType.Qidian,
|
||||
]
|
||||
return [(i.value, i.label) for i in id_types]
|
||||
|
||||
|
|
|
@ -363,6 +363,52 @@ class DoubanBookTestCase(TestCase):
|
|||
self.assertEqual(editions[1].display_title, "黄金时代")
|
||||
|
||||
|
||||
class QidianTestCase(TestCase):
|
||||
databases = "__all__"
|
||||
|
||||
def test_parse(self):
|
||||
t_type = IdType.Qidian
|
||||
t_id = "1010868264"
|
||||
t_url = "https://www.qidian.com/book/1010868264/"
|
||||
t_url2 = "https://book.qidian.com/info/1010868264/"
|
||||
p1 = SiteManager.get_site_by_url(t_url)
|
||||
p2 = SiteManager.get_site_by_url(t_url2)
|
||||
self.assertEqual(p1.url, t_url2)
|
||||
self.assertEqual(p1.ID_TYPE, t_type)
|
||||
self.assertEqual(p1.id_value, t_id)
|
||||
self.assertEqual(p2.url, t_url2)
|
||||
|
||||
@use_local_response
|
||||
def test_scrape(self):
|
||||
t_url = "https://book.qidian.com/info/1010868264/"
|
||||
site = SiteManager.get_site_by_url(t_url)
|
||||
self.assertEqual(site.ready, False)
|
||||
site.get_resource_ready()
|
||||
self.assertEqual(site.ready, True)
|
||||
self.assertEqual(site.resource.site_name, SiteName.Qidian)
|
||||
self.assertEqual(site.resource.id_type, IdType.Qidian)
|
||||
self.assertEqual(site.resource.id_value, "1010868264")
|
||||
self.assertEqual(site.resource.item.display_title, "诡秘之主")
|
||||
self.assertEqual(site.resource.item.author[0], "爱潜水的乌贼")
|
||||
|
||||
|
||||
class YpshuoTestCase(TestCase):
|
||||
databases = "__all__"
|
||||
|
||||
@use_local_response
|
||||
def test_scrape(self):
|
||||
t_url = "https://www.ypshuo.com/novel/1.html"
|
||||
site = SiteManager.get_site_by_url(t_url)
|
||||
self.assertEqual(site.ready, False)
|
||||
site.get_resource_ready()
|
||||
self.assertEqual(site.ready, True)
|
||||
self.assertEqual(site.resource.site_name, SiteName.Ypshuo)
|
||||
self.assertEqual(site.resource.id_type, IdType.Ypshuo)
|
||||
self.assertEqual(site.resource.id_value, "1")
|
||||
self.assertEqual(site.resource.item.display_title, "诡秘之主")
|
||||
self.assertEqual(site.resource.item.author[0], "爱潜水的乌贼")
|
||||
|
||||
|
||||
class MultiBookSitesTestCase(TestCase):
|
||||
databases = "__all__"
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ class Qidian(AbstractSite):
|
|||
|
||||
@classmethod
|
||||
def id_to_url(cls, id_value):
|
||||
return f"https://book.qidian.com/info/{id_value}"
|
||||
return f"https://book.qidian.com/info/{id_value}/"
|
||||
|
||||
def scrape(self):
|
||||
content = ProxiedDownloader(self.url).download().html()
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import logging
|
||||
import json
|
||||
|
||||
from catalog.common import *
|
||||
from catalog.models import *
|
||||
|
@ -21,6 +21,11 @@ class Ypshuo(AbstractSite):
|
|||
def scrape(self):
|
||||
api_url = f"https://www.ypshuo.com/api/novel/getInfo?novelId={self.id_value}"
|
||||
o = BasicDownloader(api_url).download().json()
|
||||
source = json.loads(o["data"]["source"])
|
||||
lookup_ids = {}
|
||||
for site in source:
|
||||
if site["siteName"] == "起点中文网":
|
||||
lookup_ids[IdType.Qidian] = site["bookId"]
|
||||
return ResourceContent(
|
||||
metadata={
|
||||
"localized_title": [{"lang": "zh-cn", "text": o["data"]["novel_name"]}],
|
||||
|
@ -30,4 +35,5 @@ class Ypshuo(AbstractSite):
|
|||
],
|
||||
"cover_image_url": o["data"]["novel_img"],
|
||||
},
|
||||
lookup_ids=lookup_ids,
|
||||
)
|
||||
|
|
1920
test_data/https___book_qidian_com_info_1010868264_
Normal file
1920
test_data/https___book_qidian_com_info_1010868264_
Normal file
File diff suppressed because one or more lines are too long
|
@ -0,0 +1 @@
|
|||
{"code":"00","data":{"id":1,"novel_name":"诡秘之主","category_id":1,"novel_img":"https://qidian.qpic.cn/qdbimg/349573/1010868264/300","author_name":"爱潜水的乌贼","synopsis":"蒸汽与机械的浪潮中,谁能触及非凡?历史和黑暗的迷雾里,又是谁在耳语?我从诡秘中醒来,睁眼看见这个世界:枪械,大炮,巨舰,飞空艇,差分机;魔药,占卜,诅咒,倒吊人,封印物……光明依旧照耀,神秘从未远离,这是一段“愚者”的传说。","word_number":4465200,"update_status":1,"update_explain":null,"status":2,"source":"[{\"bookId\":\"1010868264\",\"siteName\":\"起点中文网\",\"bookPage\":\"http://book.qidian.com/info/1010868264\"},{\"bookId\":\"20868264\",\"siteName\":\"创世中文网\",\"bookPage\":\"http://chuangshi.qq.com/bk/ly/20868264.html\"}]","power":"0","point":328,"score":8.7,"scorer":120,"score_1":8,"scorer_1":2,"score_2":10,"scorer_2":1,"score_3":8.7,"scorer_3":117,"create_time":1605427200,"update_time":1605427200,"novel_tags":[{"tag_name":"异世大陆"}],"novel_category":{"cate_name":"玄幻"}}}
|
Loading…
Add table
Reference in a new issue