web-novel-scraper 2.0.1__py3-none-any.whl → 2.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- web_novel_scraper/decode.py +1 -1
- web_novel_scraper/decode_guide/decode_guide.json +28 -0
- web_novel_scraper/file_manager.py +2 -1
- web_novel_scraper/version.py +1 -1
- {web_novel_scraper-2.0.1.dist-info → web_novel_scraper-2.0.3.dist-info}/METADATA +1 -1
- {web_novel_scraper-2.0.1.dist-info → web_novel_scraper-2.0.3.dist-info}/RECORD +8 -8
- {web_novel_scraper-2.0.1.dist-info → web_novel_scraper-2.0.3.dist-info}/WHEEL +0 -0
- {web_novel_scraper-2.0.1.dist-info → web_novel_scraper-2.0.3.dist-info}/entry_points.txt +0 -0
web_novel_scraper/decode.py
CHANGED
@@ -79,7 +79,7 @@ class Decoder:
|
|
79
79
|
chapter_title = self.decode_html(html, 'title')
|
80
80
|
if chapter_title is None:
|
81
81
|
logger.debug(f'No chapter_title found.')
|
82
|
-
return chapter_title
|
82
|
+
return str(chapter_title).strip()
|
83
83
|
|
84
84
|
def get_chapter_content(self, html: str, save_title_to_content: bool, chapter_title: str) -> str:
|
85
85
|
logger.debug('Obtaining chapter content...')
|
@@ -380,5 +380,33 @@
|
|
380
380
|
"key": "href"
|
381
381
|
}
|
382
382
|
}
|
383
|
+
},
|
384
|
+
{
|
385
|
+
"host": "foxaholic.com",
|
386
|
+
"has_pagination": false,
|
387
|
+
"request_config": {
|
388
|
+
"force_flaresolver": "true",
|
389
|
+
"request_timeout": 30
|
390
|
+
},
|
391
|
+
"title": {
|
392
|
+
"element": "li",
|
393
|
+
"class": "active",
|
394
|
+
"extract": {
|
395
|
+
"type": "text"
|
396
|
+
}
|
397
|
+
},
|
398
|
+
"content": {
|
399
|
+
"selector": "div.text-left p:not([class])",
|
400
|
+
"array": true
|
401
|
+
},
|
402
|
+
"index": {
|
403
|
+
"selector": "li.free-chap a",
|
404
|
+
"inverted": true,
|
405
|
+
"array": true,
|
406
|
+
"extract": {
|
407
|
+
"type": "attr",
|
408
|
+
"key": "href"
|
409
|
+
}
|
410
|
+
}
|
383
411
|
}
|
384
412
|
]
|
@@ -214,7 +214,8 @@ class FileManager:
|
|
214
214
|
"""
|
215
215
|
base_dir_path = Path(base_novels_dir)
|
216
216
|
if not base_dir_path.exists():
|
217
|
-
|
217
|
+
logger.info(f'{base_dir_path} does not exist. Creating new base directory.')
|
218
|
+
FileOps.ensure_dir(base_dir_path)
|
218
219
|
|
219
220
|
# — 1. If the caller supplied a path, return it
|
220
221
|
if novel_base_dir:
|
web_novel_scraper/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.0.
|
1
|
+
__version__ = "2.0.3"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: web-novel-scraper
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.3
|
4
4
|
Summary: Python tool that allows you to scrape web novels from various sources and save them to more readable formats like EPUB.
|
5
5
|
Project-URL: Homepage, https://github.com/ImagineBrkr/web-novel-scraper
|
6
6
|
Project-URL: Documentation, https://web-novel-scraper.readthedocs.io
|
@@ -1,19 +1,19 @@
|
|
1
1
|
web_novel_scraper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
web_novel_scraper/__main__.py,sha256=2SnDA-UKx30dO2YiQoNDF8LKC2ySYYoqkUCV6dNnGYM,18181
|
3
3
|
web_novel_scraper/config_manager.py,sha256=duwKc6jyLj8NmST5F98qGgpW_o6D6GAenKWsYQ80gcU,3121
|
4
|
-
web_novel_scraper/decode.py,sha256=
|
5
|
-
web_novel_scraper/file_manager.py,sha256=
|
4
|
+
web_novel_scraper/decode.py,sha256=fyHr17TsrtGPYYUMRKB8R5qwdt5yvY4vOx9sB9HCmb4,10809
|
5
|
+
web_novel_scraper/file_manager.py,sha256=02sbDB7AYPI2dmVVcBVSsyjqDmfRy3LmQqffua-blio,10640
|
6
6
|
web_novel_scraper/logger_manager.py,sha256=A-a4bhYI4YCEuSJd9E3WH_kanJ7YCASMwheBzObZK4Q,1972
|
7
7
|
web_novel_scraper/novel_scraper.py,sha256=yos0rQGe6UeHVmfmylkB5FM7gE6NCjUCl-80QZTf5-o,30525
|
8
8
|
web_novel_scraper/request_manager.py,sha256=BVWMtUO3HRs44phU2ODkPUjy7tJiIBX_R0rxGGLaJzw,6617
|
9
9
|
web_novel_scraper/utils.py,sha256=1V8UwYhpp_27zqPnBDbl7fohu2Z7Sy_4Fq5J2_JAEvU,6405
|
10
|
-
web_novel_scraper/version.py,sha256=
|
10
|
+
web_novel_scraper/version.py,sha256=_GEKEa6BYjBV34SZkSlAR87aCM5Y9G0aSI0LXL52iJg,22
|
11
11
|
web_novel_scraper/custom_processor/__init__.py,sha256=iy4tjivMjshSzc52--aa-jK53qu9VwdK-6p4vuQc6oc,103
|
12
12
|
web_novel_scraper/custom_processor/custom_processor.py,sha256=h1MPl6JU_C2Mc7SqK70LsNQHpDzSL6QyraMIQ87HcMM,870
|
13
13
|
web_novel_scraper/custom_processor/sites/genesis.py,sha256=xV0eybI0ieHR5gn4yWXI74l99Eayhqs16PIYs-BrPjE,1843
|
14
14
|
web_novel_scraper/custom_processor/sites/royalroad.py,sha256=_2PsFC_w3RJCUkAPoRn-7R2jlzl3XsG4WYtRaQkp6lg,787
|
15
|
-
web_novel_scraper/decode_guide/decode_guide.json,sha256
|
16
|
-
web_novel_scraper-2.0.
|
17
|
-
web_novel_scraper-2.0.
|
18
|
-
web_novel_scraper-2.0.
|
19
|
-
web_novel_scraper-2.0.
|
15
|
+
web_novel_scraper/decode_guide/decode_guide.json,sha256=-xSfkCoCJtcYX7SM2ukO2PRKm_i9vew_szctVNHY1xk,10379
|
16
|
+
web_novel_scraper-2.0.3.dist-info/METADATA,sha256=32euwoTPwXoXLcBYfH0iIDnHwVjUXJjVSEDZDsMX03s,8423
|
17
|
+
web_novel_scraper-2.0.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
18
|
+
web_novel_scraper-2.0.3.dist-info/entry_points.txt,sha256=bqRvStfvSprSJc2EJXgKIbggWOXSePHFfVIZWy_plDQ,69
|
19
|
+
web_novel_scraper-2.0.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|