Package: pyccoma
PyccomaDirectly download smartoon, manga, and novels fromPiccoma JapanandPiccoma France.PrerequisitesPython 3.11Install$pipinstallpyccomaGetting StartedUsing the command-line utilityTo download a single episode, simply use:$pyccomahttps://piccoma.com/web/viewer/103981/2646730You can also pass multiple links (separated by whitespace) to download in one go, then use the--archiveoption to output to a cbz archive.$pyccomahttps://piccoma.com/web/viewer/60171/1575237https://piccoma.com/web/viewer/8195/1185884--archiveUse the option--regionto switch between Piccoma Japan (default) and Piccoma France.$pyccomahttps://piccoma.com/fr/viewer/49/2946--regionfrAccess purchased episodes from your library by logging in using the--emailoption.$pyccomapurchase--regionfr--filterall--includeis_purchased--emailfoo@bar.com
$pyccomapurchase--regionjp--filterall--includeis_purchased--emailfoo@bar.comRead more about the available CLI options onthe next sectionbelow. You can also see more exampleshereon how to aggregate and batch download using the command-line utility.Using Python shellImport thePyccomaclass according to their region.ModuleDescriptionpyccoma.jpPiccoma Japanpyccoma.frPiccoma FranceCreate aPyccomainstance and usefetchto scrape and download images from a viewer page.>>>frompyccoma.jpimportPyccoma>>>jp=Pyccoma()>>>jp.fetch('https://piccoma.com/web/viewer/8195/1185884')Title:ひげを剃る。そして女子高生を拾う。(しめさばぶーた足立いまる)Episode:第1話失恋と女子高生(1)|███████████████████████████████████████████████████████████|100.0%(14/14)Elapsedtime:00:00:17>>>frompyccoma.frimportPyccoma>>>fr=Pyccoma()>>>fr.fetch('https://piccoma.com/fr/viewer/49/2944')Title:Roxana(BAEKJI-YEONJuniljusKin)Episode:#1 Il est mon seul espoir de survie|███████████████████████████████████████████████████████████|100.0%(80/80)Elapsedtime:00:00:47You can useloginto have access to rental or paywalled episodes from your own library.>>>jp.login(email,password)>>>jp.fetch('https://piccoma.com/web/viewer/s/4995/1217972','output_dir')Title:かぐや様は告らせたい～天才たちの恋愛頭脳戦～(赤坂アカ)Episode:第135話|███████████████████████████████████████████████████████████|100.0%(20/20)Elapsedtime:00:00:23OptionsRequiredOptionDescriptionExamplesurlMust be a valid urlhttps://piccoma.com/web/product/4995/episodes?etype=V,https://piccoma.com/web/product/12482/episodes?etype=E,https://piccoma.com/web/viewer/12482/631201,https://piccoma.com/fr/product/volume/109,https://piccoma.com/fr/product/episode/231,bookmark,history,purchaseLocaleOptionDescriptionExamples--regionSelect which service to useJp(Piccoma Japan),Fr(Piccoma France)OptionalOptionDescriptionExamples-o, --outputLocal directory to save downloaded imagesD:/piccoma/(absolute path),/piccoma/download/(relative path)-f, --formatImage formatjpeg,jpg,gif,bmp,png(default)-p, --padPad page numbers with leading zeroes0(default)--archiveDownload as cbz archive--omit-authorOmit author names from titlesRetryOptionDescriptionExamples--retry-countNumber of download retry attempts when error occurred3(default)--retry-intervalDelay between each retry attempt (in seconds)1(default)LoginOptionDescriptionExamples--emailYour registered email address; this does not support OAuth authenticationfoo@bar.comFilterOptionDescriptionExamples--etypePreferred episode type to scrape manga, smartoon, and novel when scrapinghistory,bookmark,purchase; takes in three arguments, the first one for manga, the second for smartoon, and the last one for novelvolumeto scrape for volumes,episodeto scrape for episodes--filterFilter to use when scraping episodes from a product page or your librarymin,max,all, orcustomby defining --range. Useminto scrape for the first item,maxfor the last item,allto scrape all items, andcustomto scrape for a specific index range--rangeRange to use when scraping episodes; takes in two arguments, start and end; will always override --filter to parse custom, if omitted or otherwise0 10will scrape the first up to the tenth episode--includeStatus arguments to include when parsing a library or product; can parse in|and&operators as conditionals, seeuse cases belowis_purchased,is_free,is_zero_plus,is_already_read,is_read_for_free,is_wait_until_free--excludeStatus arguments to exclude when parsing a library or product; can parse in|and&operators as conditionals, seeuse cases belowis_purchased,is_free,is_zero_plus,is_already_read,is_read_for_free,is_wait_until_freeLoggingOptionDescriptionExamples-l, --loglevelSet the log message thresholddebug,info(default),warning,error,noneExamplesUse the--includeand--excludeoptions in the command-line utility to narrow down which items are included in an aggregation.ArgumentDescriptionis_freeFree-to-access volumes/episodesis_wait_until_freeEpisodes that can be accessed by waiting/using free passis_read_for_freeEpisodes that are accessed using free passis_purchasedPurchased volumes/episodesis_zero_plusFree-to-access episodesis_already_readItems that have been accessed before; formatted as grayed-out rowsAggregating and downloading in batchDownloading all free episodes in a single product page:$pyccomahttps://piccoma.com/web/product/67171/episodes?etype=E--filterall--includeis_freeDownloading all free episodes across multiple products:$pyccomahttps://piccoma.com/web/product/5523/episodes?etype=Ehttps://piccoma.com/web/product/23019/episodes?etype=E--filterall--includeis_freeDownloading all first episodes across multiple products:$pyccomahttps://piccoma.com/web/product/6575/episodes?etype=Ehttps://piccoma.com/web/product/41993/episodes?etype=E--filterminDownloading using custom with range:$pyccomahttps://piccoma.com/web/product/16070/episodes?etype=E--filtercustom--range15DisclaimerPyccoma was made for the sole purpose of helping users download media fromPiccomafor offline consumption. This is for private use only, do not use this tool to promote piracy.