mirror of
https://github.com/RicterZ/nhentai.git
synced 2025-07-01 16:09:28 +02:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
4d89b80e67 | |||
4cc4f35a0d | |||
ad86c49de9 | |||
5a538fe82f | |||
eb35ba9848 | |||
14a53a0953 | |||
c5e4b5ffa8 | |||
b3f25875d0 | |||
91053b98af | |||
b0902c2d58 | |||
320f36c264 | |||
1dae63be39 | |||
8ed1b89277 |
@ -4,13 +4,14 @@ os:
|
||||
language: python
|
||||
python:
|
||||
- 3.7
|
||||
- 3.8
|
||||
|
||||
install:
|
||||
- python setup.py install
|
||||
|
||||
script:
|
||||
- echo 268642 > /tmp/test.txt
|
||||
- nhentai --cookie "_ga=GA1.2.2000087053.1558179358; __cfduid=d8930f7b43d04e1b2117719e28386b2e31593148489; csrftoken=3914GQGSmmqQyfQTBswNgfXuhFiefu8sAgOnsfZWiiqS4PJpKivuTp34p2USV6xu; sessionid=be0w2lwlprlmld3ahg9i592ipsuaw840"
|
||||
- nhentai --cookie "_ga=GA1.2.1651446371.1545407218; __cfduid=d0ed34dfb81167d2a51a1d6392c1768a81601380350; csrftoken=KRN0GR1ft86m3HTefpQA99pp6R1Bo7hUs5QxNGOAIuwB5g4EcJj04fwMB8QKgLaB; sessionid=7hzoowox78c90wi5ud5ibphm4axcck7c"
|
||||
- nhentai --search umaru
|
||||
- nhentai --id=152503,146134 -t 10 --output=/tmp/ --cbz
|
||||
- nhentai -F
|
||||
|
@ -1,3 +1,3 @@
|
||||
__version__ = '0.4.0'
|
||||
__version__ = '0.4.2'
|
||||
__author__ = 'RicterZ'
|
||||
__email__ = 'ricterzheng@gmail.com'
|
||||
|
@ -5,11 +5,10 @@ import multiprocessing
|
||||
import signal
|
||||
|
||||
from future.builtins import str as text
|
||||
import sys
|
||||
import os
|
||||
import requests
|
||||
import threadpool
|
||||
import time
|
||||
import multiprocessing as mp
|
||||
|
||||
try:
|
||||
from urllib.parse import urlparse
|
||||
@ -18,10 +17,10 @@ except ImportError:
|
||||
|
||||
from nhentai.logger import logger
|
||||
from nhentai.parser import request
|
||||
from nhentai.utils import Singleton, signal_handler
|
||||
from nhentai.utils import Singleton
|
||||
|
||||
requests.packages.urllib3.disable_warnings()
|
||||
semaphore = mp.Semaphore()
|
||||
semaphore = multiprocessing.Semaphore(1)
|
||||
|
||||
|
||||
class NHentaiImageNotExistException(Exception):
|
||||
@ -133,16 +132,14 @@ class Downloader(Singleton):
|
||||
queue = [(self, url, folder) for url in queue]
|
||||
|
||||
pool = multiprocessing.Pool(self.size, init_worker)
|
||||
|
||||
for item in queue:
|
||||
pool.apply_async(download_wrapper, args=item, callback=self._download_callback)
|
||||
[pool.apply_async(download_wrapper, args=item) for item in queue]
|
||||
|
||||
pool.close()
|
||||
pool.join()
|
||||
|
||||
|
||||
def download_wrapper(obj, url, folder=''):
|
||||
if semaphore.get_value():
|
||||
if sys.platform == 'darwin' or semaphore.get_value():
|
||||
return Downloader.download_(obj, url=url, folder=folder)
|
||||
else:
|
||||
return -3, None
|
||||
|
@ -178,7 +178,6 @@ def doujinshi_parser(id_):
|
||||
doujinshi['img_id'] = img_id.group(1)
|
||||
doujinshi['ext'] = ext
|
||||
|
||||
pages = 0
|
||||
for _ in doujinshi_info.find_all('div', class_='tag-container field-name'):
|
||||
if re.search('Pages:', _.text):
|
||||
pages = _.find('span', class_='name').string
|
||||
@ -222,7 +221,7 @@ def print_doujinshi(doujinshi_list):
|
||||
|
||||
def search_parser(keyword, sorting, page):
|
||||
logger.debug('Searching doujinshis using keywords {0}'.format(keyword))
|
||||
keyword = '+'.join([i.strip().replace(' ', '-').lower() for i in keyword.split(',')])
|
||||
# keyword = '+'.join([i.strip().replace(' ', '-').lower() for i in keyword.split(',')])
|
||||
result = []
|
||||
i = 0
|
||||
while i < 5:
|
||||
@ -230,12 +229,8 @@ def search_parser(keyword, sorting, page):
|
||||
url = request('get', url=constant.SEARCH_URL, params={'query': keyword, 'page': page, 'sort': sorting}).url
|
||||
response = request('get', url.replace('%2B', '+')).json()
|
||||
except Exception as e:
|
||||
i += 1
|
||||
if not i < 5:
|
||||
logger.critical(str(e))
|
||||
logger.warn('If you are in China, please configure the proxy to fu*k GFW.')
|
||||
exit(1)
|
||||
continue
|
||||
logger.critical(str(e))
|
||||
|
||||
break
|
||||
|
||||
if 'result' not in response:
|
||||
|
Reference in New Issue
Block a user