Webnovel Bot and scraper written in one, optimized for speed.
Provides multiple choices of access for tasks
pip install webnovelbotor
warning: this method requires prior installation of browser-cookie3
pip install git+https://github.com/mHaisham/webnovelbot.gitfollow the link for an example usage
there are a few hiccups that one may encounter during signing in to webnovel
-
Captcha: During the signin process user can be asked to fill in a google captcha
-
Guard: After clicking the signin button the form can redirect the user to a guard website
you can handle them in different ways, signin method takes a variable manual
which defaults to False. Behaviour of the function changes depending on it.
When manual is false signin would throw exceptions corresponding to the situation
try:
webnovel.signin(USER_EMAIL, USER_PASS)
except CaptchaException:
pass
except GuardException:
passRead more on handling Guard
When manual is true the process would be expecting user input during the above mentioned situations.
It would by default wait 10 minutes for user input before throwing a TimeoutException.
You may define a custom time by setting webnovel.user_timeout
Webnovelbot supports using cookies from other web browsers in both selenium and api using class Cookies
It currently supports all browsers supported by browser_cookie3
chrome firefox opera edge chromium
from webnovel import WebnovelBot, Cookies
from webnovel.api import ParsedApi
webnovel = WebnovelBot(timeout=360)
cookiejar = Cookies.from_browser('chrome')
# this will load the cookie jar into selenium
# depending on what you want to do after, you may want to reload the page
webnovel.add_cookiejar(cookiejar)
# this will create the api with the cookie jar
api = ParsedApi(cookiejar)Cookies extends from RequestsCookieJar hence can be used as a replacement for it and vice-versa
from webnovel.tools import UrlToolsUrlTools provides methods to convert and from novel_id, chapter_id, and profile_id to their respective urls
Supports multiple analytic tools with an easily extensible interface
Primary focus of development is to reduce the usage of selenium.