Mike Fährmann
61fbbd2dae
[exhentai] rename metadata fields to match API results ( #1325 )
...
- gallery_id -> gid
- gallery_token -> token
- title_jp -> title_jpn
- visible -> expunged
- gallery_size -> filesize
- count -> filecount
Also changes the function of the 'metadata' option.
It is now boolean and causes extra data fields from the API to be added
instead of completely replacing the data from HTML when activated.
4 years ago
Mike Fährmann
996bfe4d4b
[hentaicafe] fix manga extractor
...
was broken since 993856b8
4 years ago
Mike Fährmann
5d69e437d0
[twitter] add option to download all media from a conversation
...
(fixes #1319 )
4 years ago
Mike Fährmann
cf5fa75d4c
add 'browser' option ( #1117 )
...
- change default user agent to Firefox ESR 78 on Windows 10
- remove 'ciphers' option
4 years ago
Mike Fährmann
92071d02f4
fix crash when 'base-directory' is an empty string ( #1339 )
4 years ago
Mike Fährmann
970fc2b2b5
allow setting 'filename' & '(base-)directory' to default
...
by setting them to 'None'/'null'
4 years ago
Mike Fährmann
e5735361ed
[exhentai] add 'metadata' option ( #1325 )
...
to select between gallery metadata from 'api' or 'html'
4 years ago
Mike Fährmann
8f095a0980
[exhentai] extract more metadata from gallery pages ( #1325 )
4 years ago
Mike Fährmann
ffce8d85e7
[cyberdrop] update
...
- add test and archive_fmt
- extract more metadata
4 years ago
Mike Fährmann
de0656941b
[twitter] add extractor for followed users ( #1337 )
...
https://twitter.com/USER/following or
https://twitter.com/id:USERID/following
4 years ago
Mike Fährmann
e39aea42cd
fix supportedsites.py for modules without docstring
...
(fixes #1332 )
4 years ago
loragja
7b5ee922b7
cyberdrop extractor ( #1328 )
...
* create cyberdrop extractor
* add cyberdrop to list of extractors
* fix formatting
* change class name from CyberdropExtractor to CyberdropAlbumExtractor
* add cyberdrop to list of supported sites
* attempt to clean up diff of supportedsites.rst
* replace regex with functions from text library
4 years ago
Mike Fährmann
5ad2b9c82b
[deviantart] extend 'extra' option
...
also download from embedded DeviantArt posts
4 years ago
Mike Fährmann
560277394e
[downloader:http] add 'headers' option ( #1322 )
4 years ago
Mike Fährmann
6b0ecbf6bc
[hentainexus] add 'orignal' option ( #1322 )
4 years ago
Mike Fährmann
5542a11c46
[twitter] update GraphQL endpoints
4 years ago
Mike Fährmann
e1a12761d7
strip '/' from instance root URLs
4 years ago
Mike Fährmann
595bdaa4be
add extractors for gelbooru v0.1 sites
...
- support https://illusioncards.booru.org/ (closes #426 )
- support https://the-collection.booru.org/ (closes #767 )
- support https://allgirl.booru.org/
- closes #234 , closes #473 , closes #1238
To get gallery-dl to recognize other sites running Gelbooru v0.1
(most sites on booru.org), add one or more entries to the
'gelbooru_v01' block in your config file. For example:
{
"extractor": {
"gelbooru_v01": {
"rozenmaidenbooru": {"root": "http://rm.booru.org "},
"drawfriendsbooru": {"root": "http://drawfriends.booru.org "}
}
}
}
4 years ago
Mike Fährmann
59fd740b47
[tbib] add support for https://tbib.org/ ( #473 , closes #1082 )
4 years ago
Mike Fährmann
08d7934c6e
move extractors from booru.py into their own gelbooru_v02 module
4 years ago
Mike Fährmann
d656892670
remove cloudflare.py
...
The old IUAM challenge doesn't get used anymore, i.e. code to bypass it
is pointless, and the 'is_...()' checks are simple enough to directly
include them in 'extractor.request()'.
4 years ago
Mike Fährmann
65ca923b4e
fix 'whitelist' option for BaseExtractor instances
4 years ago
Mike Fährmann
fbfcbcbf57
Merge branch '1.17.0'
4 years ago
Mike Fährmann
6e40585fb1
release version 1.16.5
4 years ago
Mike Fährmann
ba693d8686
[patreon] skip posts without view permission ( #1316 )
4 years ago
Mike Fährmann
dcbd995346
[vanillarock] fix metadata extraction
4 years ago
Mike Fährmann
4b1cda4cf7
[paheal] fix metadata extraction
4 years ago
Mike Fährmann
2919d78bfc
update extractor test results
4 years ago
Mike Fährmann
8974f0361c
[pixiv] update ( #1304 )
...
- remove login with username & password
- require a refresh token
- add 'oauth:pixiv' functionality
See also:
- https://github.com/upbit/pixivpy/issues/158
- https://gist.github.com/ZipFile/c9ebedb224406f4f11845ab700124362
4 years ago
Mike Fährmann
79c0fc249b
[mangadex] add 'api-server' option ( #1309 )
...
and change the API server back to 'https://mangadex.org/api ' for now
4 years ago
Mike Fährmann
96a51ff169
[sankaku] update invalid-token detection ( fixes #1309 )
4 years ago
Mike Fährmann
b3cd970d87
[postprocessor:metadata] fix crash with 'extension-format'
...
Using the 'extension-format' option for events where no filename
extension is available caused a crash.
(fixes #1285 )
4 years ago
Mike Fährmann
23be48427c
[deviantart] fix 'folders' option ( closes #1302 )
...
don't assume parent folders are listed before their children
4 years ago
Mike Fährmann
ca6b0fc2ac
[imagehosts] cleanup
4 years ago
Mike Fährmann
95a66bdad6
[imgclick] add 'image' extractor ( closes #1307 )
...
basically reverts b0e8daf415
4 years ago
Mike Fährmann
fc78210725
[kemonoparty] include 'service' in directories and archive keys
4 years ago
Mike Fährmann
c386a9fabf
[kemonoparty] fix absolute file URLs
4 years ago
Mike Fährmann
7e7158e7c0
[kemonoparty] support URLs with non-numeric user and post IDs
...
(fixes #1303 )
4 years ago
Mike Fährmann
e88d5bede8
[500px] update query hash
4 years ago
Mike Fährmann
280b1ac16d
[slideshare] fix extraction
4 years ago
Mike Fährmann
ae530f6365
[erome] add extractors for albums, users, searches ( closes #409 )
4 years ago
ticklebits
fa6d4d73c7
[hentaifox] support searching by group ( #1294 )
...
Groups on hentaifox lists the items to download the same way as the other pages (artists, search, tag, etc). Added group to the pattern to search, and the test.
4 years ago
Mike Fährmann
2cc1e04fe5
[kemonoparty] extract inline images ( fixes #1286 )
4 years ago
Mike Fährmann
56a8968435
remove 'Message.Metadata' ( #866 )
4 years ago
Mike Fährmann
1d145a6186
[mastodon] use cache for OAuth tokens ( #616 )
4 years ago
Mike Fährmann
a041a017d1
[pillowfort] ignore files without download URL ( #846 )
4 years ago
Mike Fährmann
23ff936d46
[nsfwalbum] use fallback for deleted content ( fixes #1259 )
4 years ago
Mike Fährmann
a228bb3a5f
[downloader:http] support callbacks to validate responses
4 years ago
Mike Fährmann
6b2bce3b7d
[behance] support 'video' modules ( closes #1282 )
...
(requires youtube-dl to download from m3u8 manifests)
4 years ago
Mike Fährmann
b0cff979b1
[inkbunny] raise NotFoundError for invalid/private submissions
...
instead of crashing
4 years ago
Mike Fährmann
e61b125fcc
[inkbunny] add 'sid' parameter to private file downloads
...
(fixes #1281 )
4 years ago
Mike Fährmann
36bf76fa44
update 'oauth:mastodon:<instance>' code
4 years ago
Mike Fährmann
88fae99811
remove 'generate_extractors()'
4 years ago
Mike Fährmann
fa33f13453
[mastodon] update
...
- inherit from BaseExtractor
- remove custom generate_extractors() and config()
- improve layout of MastodonAPI internals
4 years ago
Mike Fährmann
231bcad614
[shopify] use BaseExtractor
4 years ago
Mike Fährmann
2de8ebc098
[moebooru] use BaseExtractor
4 years ago
Mike Fährmann
0978c1e184
[booru] use BaseExtractor
4 years ago
Mike Fährmann
c6cc86d7d0
[deviantart] update parameters for '/browse/popular'
...
- limit results to 50 when also querying metadata (fixes #1267 )
- remove deprecated 'category_path' parameter
4 years ago
Mike Fährmann
993856b866
[foolslide] use BaseExtractor
4 years ago
Mike Fährmann
671a95cae5
[foolfuuka] use BaseExtractor
4 years ago
Mike Fährmann
745a114c61
[common] implement BaseExtractor class
...
Should be used when the same extractor logic applies to different
instances/domains of several sites, e.g. FoolFuuka, Shopify, etc.
This will replace the functionality of 'generate_extractors()' in
a more efficient way, by condensing everything into 1 class and not
dynamically generating an extractor class for each instance.
4 years ago
Mike Fährmann
b549c53b36
add long option for '-G'
4 years ago
Mike Fährmann
c26de0929d
[deviantart] provide 'extension' for original file downloads
...
(#1272 )
4 years ago
Mike Fährmann
24e8e398e0
[twitter] skip login if 'auth_token' cookie is present
4 years ago
Mike Fährmann
cdb0b02e30
[pillowfort] add 'reblogs' option ( #846 )
4 years ago
Mike Fährmann
7ca3bf7cb0
[pillowfort] add 'user' and 'post' extractors ( #846 )
4 years ago
Mike Fährmann
ebf417f31f
remove support for deprecated options
...
- instagram.highlights
- metadata.bypost
- exec.final
4 years ago
Mike Fährmann
477ed010c1
release version 1.16.4
4 years ago
Mike Fährmann
1d13e48512
[unsplash] implement 'skip()'
4 years ago
Mike Fährmann
6cdbfb79e9
[photovogue] update ( #1253 )
4 years ago
Federico Ravasio
25297815bc
[photovogue] added portfolio extractor ( #1253 )
4 years ago
Mike Fährmann
0265fbda61
[mangakakalot] fix extraction
4 years ago
Mike Fährmann
7a096c443f
[unsplash] add 'format' option ( #1197 )
4 years ago
Mike Fährmann
3188ac16d1
[unsplash] add 'collection' extractor ( #1197 )
4 years ago
Mike Fährmann
247cc73446
[derpibooru] update 'date' parsing
4 years ago
Mike Fährmann
193dca2ce1
update extractor test results
4 years ago
Mike Fährmann
89ea1384fc
[unsplash] fix typo
4 years ago
Mike Fährmann
e5e591b848
[vipr] simplify and add test ( #1258 )
4 years ago
v-delta
e707e060cb
[vipr] add image extractor ( #1258 )
...
* [vipr] add image extractor
Adds support for images hosted on https://vipr.im
* Fix codestyle issues
4 years ago
Mike Fährmann
95e5911895
[twitter] match '/i/user/ID' URLs
4 years ago
Mike Fährmann
069b113cbf
[twitter] improve and fix retry after hitting rate limit
...
- replace recursive call with infinite loop
- fix function arguments for recursive call
4 years ago
Mike Fährmann
89a2bcbb2d
[furaffinity] add 'descriptions' option ( #1231 )
4 years ago
Mike Fährmann
36f281330a
[newgrounds] fix flash file extraction ( closes #1257 )
...
… and add a 'flash' option to choose between flash and video formats.
4 years ago
Mike Fährmann
534194bf92
[unsplash] add extractors ( #1197 )
...
for
- single photos (/photos/ID)
- user profiles (/@USER)
- user likes (/@USER/likes)
- search results (/s/photos/SEARCH)
4 years ago
Mike Fährmann
1fc16cb8c5
[instagram] fix regex for '/saved' URLs ( fixes #1251 )
...
The URL pattern erroneously had two '([^/?#]+)' capture groups,
which would split any username into 'usernam' for the first group
and 'e' for the ignored second group.
4 years ago
Mike Fährmann
c008cb5100
[pixiv] add 'related' option ( #1237 )
4 years ago
Mike Fährmann
e9a75e27d9
[foolfuuka] stop search when results are exhausted ( #1174 )
4 years ago
Mike Fährmann
b0cf968115
[mangadex] update API URLs
...
https://mangadex.org/thread/351011/9/#post_4238014
4 years ago
Mike Fährmann
a6414c31d6
[kemonoparty] simplify ( #1216 )
...
Use metadata from API responses as is and
don't try to detect duplicated by their original filename.
4 years ago
Mike Fährmann
01b9ccd4de
[derpibooru] use the "Everything" filter by default ( #1243 )
...
when neither 'api-key' nor 'filter' are set
4 years ago
Mike Fährmann
91308140ec
make 'generate_token()' compatible with Python 3.4
4 years ago
Mike Fährmann
1fdecfa269
[kemonoparty] use API endpoints ( #1216 )
4 years ago
Mike Fährmann
318876e4dd
[nozomi] add 'num' enumeration index ( closes #1239 )
4 years ago
Mike Fährmann
2da9068ea8
[sankaku] simplify login process
4 years ago
Mike Fährmann
e07dfc4fe5
[kemonoparty] add 'user' and 'post' extractors ( #1216 )
4 years ago
Mike Fährmann
780b6adb91
rename 'generate_csrf_token()' to just 'generate_token()'
...
and add a 'size' argument
4 years ago
Mike Fährmann
f277e48c77
release version 1.16.3
4 years ago
Mike Fährmann
79501a356f
fix crash when 'path-restrict' is an object/dict
...
This basically reverts commit 5818c928
(#1234 )
4 years ago
Mike Fährmann
0fdaea00a3
[postprocessor:metadata] sanitize filenames
4 years ago
Mike Fährmann
32fcc61b84
release version 1.16.2
4 years ago
Mike Fährmann
02bc59d75c
[hentainexus] fix extraction ( fixes #1234 )
...
hentainexus is now hosting its images on wordpress, or at least it is
using wordpress' servers as cache:
https://i2.wp.com/images.hentainexus.com/gallery/2199754b23c191deb330c99c9bb43341/9576/002.png?filter=null
4 years ago
Mike Fährmann
5d4494b15f
add "ascii" as a special 'path-restrict' value
4 years ago
Mike Fährmann
5818c928c4
refactor 'path-restrict' parsing
4 years ago
Mike Fährmann
aac00a2024
add 'd' conversion for format strings
...
to convert a timestamp to a formattable 'datetime' object.
For example '{created_at!d:%Y-%m-%d}'
transforms the timestamp in 'created_at' into a 'datetime' object
and then formats its content using '%Y-%m-%d' as template.
1262304000 -> datetime(2010, 1, 1) -> "2010-01-01"
4 years ago
Mike Fährmann
20bd9cd296
[wikiart] add extractor for single paintings ( closes #1233 )
...
There is no API endpoint for single paintings from what I can tell,
so this uses the site's search.
4 years ago
Mike Fährmann
e2d4ca4955
[deviantart] improve '--range' for favorites ( closes #1226 )
4 years ago
Mike Fährmann
56ccb9951a
[gfycat] add 'date' metadata field ( #1138 )
4 years ago
Mike Fährmann
f2b83b8578
[gfycat] convert IDs to lowercase
...
Redgifs expects all IDs and names to be lowercase
and throws a 404 if an ID contains an uppercase letter.
Gfycat on the other hand doesn't care about case,
so it's fine to just convert all IDs.
(#1138 )
4 years ago
Mike Fährmann
b3bc646236
[redgifs] match embedded URLs
...
https://redgifs.com/ifr/ <ID>
4 years ago
Mike Fährmann
98e0d21383
[instagram] categorize single highlight URLs as 'highlights'
...
They were categorized as 'stories' before.
(fixes #1222 )
4 years ago
Mike Fährmann
1c9435e0df
add '-G' command-line option ( #1217 )
...
A "stronger" version of '-g', resolving all intermediate URLs.
4 years ago
Mike Fährmann
fa8ee6eac4
[derpibooru] add search and gallery extractors ( #862 )
4 years ago
Mike Fährmann
3759d0cb42
[redgifs] fix search results
...
The metadata for Redgifs search results got stripped down to a bare
minimum, including download URLs. (Clicking on search results on the
website itself is broken as well)
As a workaround, we make an extra call to '/v1/gfycats/<ID>'
for each search result entry to fetch the missing data.
4 years ago
Mike Fährmann
8a88025dc4
[pinterest] support generic user URLs ( #1205 )
...
i.e. https://www.pinterest.com/USERNAME
also renames 'BoardsExtractor' to 'UserExtractor'
4 years ago
Mike Fährmann
56b460dcea
[foolfuuka] add 'search' extractors ( #1174 )
4 years ago
Mike Fährmann
fb64183d53
[foolfuuka] add 'board' extractors ( closes #1044 )
4 years ago
Mike Fährmann
0594821fcd
[downloader:http] add MIME type and signature for .ico files
...
(closes #1211 )
4 years ago
Mike Fährmann
b0beed7a06
[sankaku] add support for book searches ( closes #1204 )
4 years ago
Mike Fährmann
6cdbab07b5
[pinterest] add support for getting all boards of a user
...
(#1205 )
4 years ago
Mike Fährmann
25074aec47
[twitter] fetch media from pinned tweets ( #1203 )
4 years ago
Mike Fährmann
2475176d99
[twitter] fetch tweets from 'homeConversation' entries
...
When logged in, some entries returned by Twitter's API are so called
'homeConversation's (they would be regular tweet entries otherwise.)
Those weren't picked up before and resulted in missing files compared
to accessing a timeline as guest.
('/media' timelines and search results were not affected)
4 years ago
Mike Fährmann
3af9350648
[twitter] update API calls
...
- use 'https://twitter.com/i/api ' for all requests
except '/guest/activate.json'
- update (default) URL parameters
- update GraphQL endpoints
4 years ago
Mike Fährmann
b656b829db
[twitter] fix login with username & password
...
It is no longer possible to get an 'authenticity_token' from Twitter's
Javascript-free login form, which got disabled few days ago.
Generating a random 16 byte hex string client-side and sending that as
a cookie alongside the regular login form works just as well.
4 years ago
Mike Fährmann
d1903589a5
release version 1.16.1
4 years ago
Mike Fährmann
912eea29bc
update extractor test results
4 years ago
Mike Fährmann
47a7a51944
[sankaku] fix 'invalid_token' detection
4 years ago
Mike Fährmann
ba5df84f7e
[keenspot] improve redirect handling
...
Before it would use http:// for all requests and
get a redirect to a https:// version if those are supported.
Now the redirect only happens once during the first request.
4 years ago
Mike Fährmann
d781e6ac44
[e621] return pool posts in order ( closes #1195 )
...
… and add a 'num' enumeration index.
A bit more code than the PR version, but it prints some helpful messages
and doesn't call 'metadata()' twice.
4 years ago
Mike Fährmann
e7d446a8f7
[danbooru] slight code refactoring
4 years ago
Mike Fährmann
e41e2be2f9
[booru] split '_prepare_post()'
4 years ago
Mike Fährmann
53222445d5
[hentaicafe] simplify default filenames
4 years ago
Mike Fährmann
712c792fbe
[hentaicafe] prefer title of /hc.fyi/ pages ( closes #1106 )
4 years ago
Mike Fährmann
2c4d4a75db
[mangadex] respect 'chapter-reverse' settings ( closes #1194 )
...
The extractor in question doesn't inherit from MangaExtractor
and therefore didn't do this automatically.
4 years ago
Mike Fährmann
3bd08acc8f
[pixiv] output debug message on failed login attempt
...
(#1192 )
4 years ago
Mike Fährmann
b58e605dc7
raise error when required username or password are missing
...
do not try to login as 'None' (#1192 )
4 years ago
Mike Fährmann
b233531aaa
[sankaku] use '/posts' endpoint for single posts
4 years ago
Mike Fährmann
459a0af4f8
[sankaku] add support for sankaku.app URLs ( closes #1193 )
4 years ago
Mike Fährmann
371e9ca6df
[pinterest] implement video support ( closes #1189 )
4 years ago
Mike Fährmann
537742c0ee
[sankaku] normalize 'created_at' metadata ( closes #1190 )
4 years ago
Mike Fährmann
ae6748996a
[pornhub] update tests
4 years ago
Mike Fährmann
bf629a2818
[instagram] add 'include' option ( closes #1180 )
...
Split the functionality of the old 'user' extractor into separate
'posts' and 'highlights' extractors, which respond to virtual URLs
('/<user>/posts' and '/<user>/highlights')
4 years ago
Mike Fährmann
78061658ea
[booru] reduce exceptions caught during _prepare_post()
...
don't catch HttpErrors etc.
4 years ago
Mike Fährmann
212ae0c399
[mangapanda] remove module
...
site now redirects to mangareader.net
4 years ago
Mike Fährmann
337b118e25
[instagram] warn about private profiles ( #1187 )
4 years ago
Mike Fährmann
e8c64dd961
[postprocessor:exec] do not auto-add '{}' to command ( #1185 )
...
This was initially done to mimic youtube-dl's behavior and
implementation of --exec, and it seemed reasonable at the time.
4 years ago
Mike Fährmann
0a3bbc9c63
[postprocessor:exec] update output
4 years ago
Mike Fährmann
511d8d3fa3
increase SQLite connection timeouts ( #1173 )
4 years ago
Mike Fährmann
465015f75a
[sankaku] reimplement login support ( #1176 , #1182 )
4 years ago
Mike Fährmann
8d2e4e5f13
[booru] improve error handling
...
e.g. for posts without a valid 'file_url' (#1176 )
4 years ago
Mike Fährmann
1f9121fecb
release version 1.16.0
4 years ago
Mike Fährmann
1d753542c2
[hentainexus] fix extraction ( fixes #1166 )
4 years ago
Mike Fährmann
b6f1fe59cb
add deprecation warnings for exec.final and metadata.bypost
4 years ago
Mike Fährmann
476d563ec2
[downloader:http] add MIME type and signature for .swf files
4 years ago
Mike Fährmann
a00b60fbe7
[twitter] update 'x-csrf-token' header ( fixes #1170 )
...
Twitter started using a bigger (80 instead of 16 bytes) CSRf token for
logged in users, and expects those to be used as 'x-csrf-token' header
when send via 'ct0' cookie.
Generating an 80 byte token ourselves doesn't work, and Twitter will
still insist on using its own.
4 years ago
Mike Fährmann
b88c97b873
[instagram] add 'cursor' option ( #1149 )
...
To enable at least 'some' way to continue downloading from the middle
of a user profile listing.
4 years ago
Mike Fährmann
0d406c8daf
[common] restrict values used in 'generate_extractors()'
4 years ago
Mike Fährmann
fe0265c7a5
[downloader.http] small improvements to file signature list
...
- specify multiple entries for gif, mp3, zip
- add entries for pdf
4 years ago
Mike Fährmann
b2c55f0a72
[sankaku] remove login support
...
The old login method for 'https://chan.sankakucomplex.com/user/login '
and the cookies it produces have no effect on the results from
'beta.sankakucomplex.com'.
4 years ago
Mike Fährmann
7f3d811d7b
[moebooru] inherit from BooruExtractor
4 years ago
Mike Fährmann
a3a863fc13
[booru] add generalized extractors for *booru sites
...
similar to cc15fbe7
4 years ago
Mike Fährmann
5f23441e12
[piczel] update API URLs
4 years ago
Mike Fährmann
47114339a2
[webtoons] update 'ageGate' cookie
4 years ago
Mike Fährmann
4225f12783
[nozomi] handle empty 'date' fields ( fixes #1163 )
4 years ago
Mike Fährmann
2b93515ee0
[instagram] reimplement support for stories ( #1149 )
4 years ago
Mike Fährmann
ecdea799dd
[sankaku] use 'beta.sankakucomplex.com' API endpoints
4 years ago
Mike Fährmann
b3ecc89a9a
[instagram] use double quotes for strings when possible
4 years ago
Mike Fährmann
76285eb60d
[instagram] reimplement support for story highlights ( #1149 )
4 years ago
Mike Fährmann
8ca7f54750
rename '_request_…' variables
...
- remove '_' at the beginning
- _request_last -> request_timestamp
4 years ago
Mike Fährmann
15a122aff3
[instagram] update 'X-IG-WWW-Claim' headers
4 years ago
Mike Fährmann
e5d81bdc7b
[mangadex] handle 'external' chapters ( closes #1154 )
4 years ago
Mike Fährmann
447488fb18
[instagram] rewrite
...
(#1113 , #1122 , #1128 , #1130 , #1149 )
Rely on the results of GraphQL queries instead of requesting data
for each post separately via '/p/<shortcode>/?__a=1'.
This might result in some missing metadata, and there might be some
issues for '/channel/' and '/saved/' URLs, but at least downloading
from the regular post listings should work without issues and without
getting users blocked/banned.
TODO: reimplement support for stories
4 years ago
Mike Fährmann
cc15fbe71a
[moebooru] add generalized extractors for moebooru sites
...
- add support for sakugabooru.com (closes #1136 )
- add support for lolibooru.moe (closes #1050 )
This allows users to dynamically add support for moebooru/myimouto
based sites by adding an entry to their config file
(like for foolslide, foolfuuka, etc)
For example:
{
"extractor": {
"moebooru": {
"new-site-1": {"root": "https://site1.net "},
"new-site-2": {"root": "https://www.site2.moe "}
}
}
}
4 years ago
Mike Fährmann
43120407cc
[paheal] create directory for each post ( closes #1147 )
4 years ago
Mike Fährmann
63e61a0932
[twitter] update image URL format ( #1145 )
...
use
'/<name>?format=<fmt>&name=<size>'
instead of the potentially deprecated
'/<name>.<fmt>:<size>'
but keep all of them as fallback URLs
4 years ago
Mike Fährmann
1a4b61f7eb
[downloader:http] fix issues with chunked transfer encoding
...
(fixes #1144 )
4 years ago
Mike Fährmann
536c088462
[downloader:http] improve 'adjust-extensions' ( #776 )
...
Check file headers against a list of file signatures before
downloading the whole file and writing it to disk.
The file signature check needs some improvements (*),
but it produces usable results for the most part.
(*)
- 'webp', 'wav', and others start with 'RFFI'
- 'svg' uses the same "signature" as all XML documents
- 'webm' has the same signature as 'mkv' files
- only 'mp3' files in an ID3v2 container get recognized
4 years ago
Mike Fährmann
46323ae6ff
initialize 'hooks' as empty tuple
...
follow-up to 9c29fc4e
Prevent a "race" between initializing 'pathfmt' and 'hooks',
and receiving a signal in between (e.g. ctrl+c),
which would then crash in 'handle_finalize()'.
4 years ago
Mike Fährmann
9c29fc4e55
always initialize DownloadJob.hooks ( fixes #1135 )
...
and not just when any (potential) post processors are defined
4 years ago
Mike Fährmann
ae6a1d5fbc
[mangoxo] fix extraction 2
4 years ago
Mike Fährmann
f6a684bc37
[hentainexus] update data decoding procedure ( #1125 )
4 years ago
Mike Fährmann
c57a918f4a
[e621] implement delay via '_request_interval_min'
4 years ago
Mike Fährmann
93ce7466e2
[2chan] skip external links
4 years ago
Mike Fährmann
b214e89b5c
[mangoxo] fix extraction
4 years ago
Mike Fährmann
578dcf805c
[mangapanda] don't force https://
4 years ago
Mike Fährmann
102c482f5e
[reddit] skip invalid/failed gallery items ( fixes #1127 )
4 years ago
Mike Fährmann
174945d2b2
[hentainexus] fix extraction ( fixes #1125 )
4 years ago
Mike Fährmann
ca59bd691c
[postprocessor:metadata] add 'event' and 'filename' options
4 years ago
Mike Fährmann
9c3568c397
[postprocessor:exec] add 'event' option
...
and remove 'final' option -- use '"event": "finalize"' instead.
4 years ago
Mike Fährmann
9fffa9c343
rework post processor callbacks
4 years ago
Mike Fährmann
f99c6031e0
apply post processor blacklists/whitelists to basecategories
...
(#1103 )
4 years ago
Mike Fährmann
1e3dd7330e
merge SharedConfigMixin functionality into Extractor
4 years ago
Mike Fährmann
ddfb4fd07a
[twitter] use ' https://twitter.com/i/api/ ' for logged in users
...
Doesn't seem to make a difference from what I can tell,
i.e. downloaded files are the same, but the website does it.
4 years ago
Mike Fährmann
42ccae53c4
[mangadex] switch to API v2
...
https://mangadex.org/api/v2/
https://mangadex.org/thread/351011
4 years ago
Mike Fährmann
ca44111726
[flickr] update
...
- ensure every photo has an 'owner' (#828 )
- change default directories to a more consistent schema
- create directory for each photo
4 years ago
Mike Fährmann
9b1bd09454
change 'extension-map' default
...
Replace all JPEG filename extensions with 'jpg'.
4 years ago
Mike Fährmann
e5438b8a29
release version 1.15.3
4 years ago
Mike Fährmann
de0c57886d
[twitter] add 'list-members' extractor ( closes #1096 )
4 years ago
Mike Fährmann
904ba08568
[gfycat] fix default filename format
4 years ago
Mike Fährmann
a46561bc16
[500px] update query hashes
4 years ago
Mike Fährmann
2e3a0dff21
[8kun] fix file URLs of older posts ( fixes #1101 )
4 years ago
Mike Fährmann
00825cddf5
[hentaifoundry] use scheme from input URL ( fixes #1095 )
...
Let the user choose between http and https,
instead of always forcing https.
4 years ago
Mike Fährmann
8a98d3549a
[weasyl] create directory for each favorite submission
...
(#1032 )
4 years ago
Mike Fährmann
91db8df1c7
[deviantart] add 'index_base36' metadata field ( closes #1099 )
...
This is the same ID as found in 'filename' without the 'd' in front,
which is just 'index' encoded in base36.
4 years ago
Mike Fährmann
b9bfa4c675
update extractor test results
4 years ago
Mike Fährmann
1b5b789401
[mangoxo] fix metadata extraction
4 years ago
Mike Fährmann
41d4968866
[twitter] add 'list' extractor ( #1096 )
4 years ago
Mike Fährmann
5d10520f4c
[twitter] update GraphQL endpoint & fix width/height entries
4 years ago
Mike Fährmann
9b2e5f72d6
[exhentai] update image URL parsing ( #1094 )
4 years ago
Mike Fährmann
e3480bc8de
implement 'extension-map' option ( #318 )
4 years ago
Mike Fährmann
98a4d86a01
[sankakucomplex] extract videos and embeds ( closes #308 )
4 years ago
Mike Fährmann
c3f01dc4e6
implement 'util.unique()'
4 years ago
Mike Fährmann
558cde139c
[paheal] fix extraction ( fixes #1088 )
4 years ago
Mike Fährmann
0211af7ca8
[hentaifoundry] update 'YII_CSRF_TOKEN' cookie handling
...
(fixes #1083 )
4 years ago
Mike Fährmann
d83b95fd28
[postprocessor:metadata] accept a string-list for 'content-format'
...
(closes #1080 )
4 years ago
Mike Fährmann
198c33ec36
also collect post processors from 'basecategory' entries
...
(fixes #1084 )
4 years ago
Mike Fährmann
350b1afe1c
speed up _list_classes() after iterating over all modules once
4 years ago
Mike Fährmann
5bcf28de93
add a 'extractor.modules' option
4 years ago
Mike Fährmann
18213dc5ba
release version 1.15.2
4 years ago
Mike Fährmann
de4a1e45c9
improve 'generate_csrf_token()'
...
no need to use hashlib.md5()
4 years ago
Mike Fährmann
b788712844
[fallenangels] fix extraction of '.5' chapters
4 years ago
Mike Fährmann
28d8541cb3
[mangafox] ensure download URLs have a scheme
4 years ago
Mike Fährmann
8e3a324c91
[mangakakalot] ignore "Go Home" buttons in chapter pages
4 years ago
Mike Fährmann
c14c5d82d6
[newgrounds] use generator for fallback URLs
4 years ago
Mike Fährmann
a09f42f6b3
improve filename_from_url() performance
...
Manually extracting the part between the last '/' and '?' instead of
relying on the standard libraries' 'urllib.parse.urlsplit()' increases
performance by ~400%.
urlsplit() : 3.64 secs per 1.000.000 iterations
partition(): 0.87 secs per 1.000.000 iterations
4 years ago
Mike Fährmann
968d3e8465
remove '&' from URL patterns
...
'/?&#' -> '/?#' and '?&#' -> '?#'
According to https://www.ietf.org/rfc/rfc3986.txt , URLs are
"organized hierarchically" by using "the slash ("/"), question
mark ("?"), and number sign ("#") characters to delimit components"
4 years ago
Mike Fährmann
1686dc1757
[twitter] support media from Cards ( #1005 , #937 )
...
Can be enabled with 'extractor.twitter.cards', but for now disabled by
default because cards can redirect to rather large videos from YouTube
or Twitch.
4 years ago
Mike Fährmann
ffd38215a4
[hitomi] fix image URLs and URL pattern
...
- non-webp files are now hosted on [a-c]b.hitomi.la
- removed ampersand from invalid slug characters
4 years ago
Mike Fährmann
286718950c
[mangahere] ensure download URLs have a scheme ( fixes #1070 )
4 years ago
Mike Fährmann
76dfa11a65
[reddit] add 'date' metadata field ( closes #1068 )
4 years ago
Mike Fährmann
3f2ba629ea
[newgrounds] provide fallback URLs for video downloads ( #1042 )
4 years ago
Mike Fährmann
a3ca2f6080
update fallback URL handling
...
remove Message.Urllist and use a '_fallback' field inside a kwdict
4 years ago
Mike Fährmann
43dab3a228
[mangadex] unescape more metadata fields ( fixes #1066 )
...
like 'manga', 'author', 'artist', etc.
4 years ago
Mike Fährmann
ec61696316
add 't' format string conversion ( closes #1065 )
...
to Trim whitespace from the beginning and end of strings.
Example: '{field!t}' becomes 'foo' for 'field' == " \nfoo\t\r"
4 years ago
Mike Fährmann
5565025221
[xhamster] fix user profile extraction
4 years ago
Mike Fährmann
07432d6262
[seiga] fix flake8 and cookie test ( #1063 )
4 years ago
Mike Fährmann
b8daabc3ca
[pinterest] implement login support ( closes #1055 )
...
being logged allows access to secret/protected boards
4 years ago
Mike Fährmann
1b1cf01d0d
add a general 'generate_csrf_token()' function
4 years ago
Mike Fährmann
7a0ba370d1
[gelbooru] rewrite mp4 video URLs ( fixes #1048 )
4 years ago
Mike Fährmann
6491db3eaf
[blogger] handle URLs with specified width/height ( closes #1061 )
...
get highest quality for images with
/wXXX-hXXX/ instead of the usual /sXXX/
4 years ago
Mike Fährmann
783e0af26d
[hentaifoundry] update and simplify
4 years ago
Mike Fährmann
5b844a72b7
[newgrounds] handle embeds without scheme ( #1033 )
4 years ago
kurumigi
7e0e872f4f
[seiga] Add metadata for single image downloads ( #1063 )
...
* [seiga] Support image metadata.
* [seiga] Update test data.
* [seiga] Fix cookie check.
* [test_cookies] [seiga] Fit test_cookies.py to the last commit.
4 years ago
Zanny
3ec60e894a
[weasyl] api-key authentication ( #1057 )
...
* [weasyl] support api keys
* [weasyl] document api-key authentication
* [weasyl] usernames can contain ~
4 years ago
Mike Fährmann
35056a07d1
release version 1.15.1
4 years ago
Mike Fährmann
844793847c
update extractor test results
4 years ago
Mike Fährmann
ddd6840509
[behance] fix 'collection' extraction
4 years ago
Mike Fährmann
c5e3971b18
[newgrounds] extract image embeds ( closes #1033 )
4 years ago
dawidsowa
43b156fb40
[reactor] match URLs without subdomain ( #1053 )
4 years ago
Mike Fährmann
fd20093c96
allow blacklist/whitelist to be empty lists/strings ( #1051 )
4 years ago
Mike Fährmann
3ebb174f2c
add missing extractor info when spawning new ones ( fixes #1051 )
...
Not having this information causes the blacklist/whitelist logic to
trigger and prevents things from functioning as intended when using
default settings.
Fixes issues for 8muses, deviantart, exhentai, and mangoxo.
4 years ago
Mike Fährmann
f9c1684af7
[newgrounds] restore original video URLs ( #1042 )
4 years ago
Mike Fährmann
73373c06ec
[weibo] handle posts with more than 9 images ( closes #926 )
...
Responses from '/api/container/getIndex' don't list more than
9 images per 'status' object, but the embedded JSON from a
'/detail/<ID>' page does.
4 years ago
Mike Fährmann
dd1e545597
[hentaifoundry] rename GalleryExtractor to PicturesExtractor
4 years ago
Mike Fährmann
c874071f5a
[kissmanga] remove module
4 years ago
Mike Fährmann
93e04bf9a9
[500px] update query hashes
4 years ago
Mike Fährmann
844502cad5
update extractor test results
4 years ago
Mike Fährmann
fad7748b6b
[xvideos] fix 'title' extraction
4 years ago
Mike Fährmann
5b927c15df
[newgrounds] fix video extraction ( closes #1042 )
4 years ago
Mike Fährmann
bdc6c8f074
improve message for 'oauth:deviantart' etc ( closes #989 )
4 years ago
Mike Fährmann
430b6d6e2e
[twitter] extend 'retweets' option ( closes #1026 )
...
Setting 'retweets' to '"original"' will use metadata from the
original retweeted Tweets, and not from the Retweet entry.
4 years ago
Mike Fährmann
b9bdd2c564
[hentaifoundry] add support for stories ( closes #734 )
4 years ago
Mike Fährmann
9a9d1924d8
[hentaicafe] add 'manga_id' metadata field ( closes #1036 )
...
This field is only available when using a non-foolslide URL
like '/hc.fyi/9874' or '/hazuki-yuuto-summer-blues/'
4 years ago
Mike Fährmann
cc4ac80302
[weasyl] add 'favorite' extractor ( #1032 )
4 years ago
Mike Fährmann
e9cc719497
[weasyl] update and simplify
...
- simplify 'pattern' regexps
- parse 'posted_at' as 'date'
- use unaltered 'title' ({title!l:R /_/} to lowercase and replace spaces)
4 years ago
Mike Fährmann
6514312126
[nijie] add 'include' option ( closes #1018 )
4 years ago
Mike Fährmann
0d43456323
[hentaifoundry] add 'include' option
4 years ago
Zanny
ebb7737b9b
Weasyl Extractor ( #977 )
...
* weasyl extractor
* @kattjevfel suggested changes
* @mikf changes
4 years ago
Mike Fährmann
d5fa716d89
fix crash when using 'skip=false' and archive ( fixes #1023 )
...
Separating the archive check from pathfmt.exists() in b5243297
had some unintended side effects.
It is also not possible to monkey-patch a dunder method like
__contains__ because of the special method lookup that gets
performed for them.
4 years ago
Mike Fährmann
aeb0d32333
[twitter] improve twitpic extraction ( fixes #1019 )
...
- ignore twitpic.com/photos/… URLs
- ignore empty image URLs
4 years ago
Mike Fährmann
2184ec5d78
release version 1.15.0
4 years ago
Mike Fährmann
7cd383c0f9
update extractor test results
4 years ago
Mike Fährmann
1e313d5b84
implement 'sleep-request' option
4 years ago
Mike Fährmann
65744a7a31
use alternative for all falsey values in format strings
...
… and not just None (#525 )
It would be better to consistently use None for all non-existent
fields and/or fields without a valid value, but this is a good
enough workaround for now.
4 years ago
Mike Fährmann
c43b3894be
[myhentaigallery] update and fix extraction ( #1001 )
...
- extract more metadata
- match "/show/" URLs
- complete test results
- fix missing images for lines starting with " <img"
- fix missing comma in supportedsites.py
4 years ago
choeronline
05b9ac8d37
[myhentaigallery] add extractor ( #1001 )
...
* adds support for myhentaigallery
* fixes linting issues in myhentaigallery extractor
4 years ago
Mike Fährmann
2626629117
[danbooru] handle posts without 'id' ( fixes #1004 )
4 years ago
Mike Fährmann
cc1fb0b4ea
[500px] update query hash
4 years ago
Mike Fährmann
da87a5fb7e
[exhentai] fix accessing config before main constructor
...
bug introduced with 055c32e0
Making 'Extractor.config()' quite a bit faster is worth the "cost"
of having to set _cfgpath in exhentai constructors, I think.
4 years ago
Mike Fährmann
f5b7ae01c1
update extractor test results
4 years ago
Mike Fährmann
136df52d1f
[deviantart] support watchers-only/paid deviations ( #995 )
4 years ago
Mike Fährmann
055c32e0f7
precompute extractor config paths
4 years ago
Mike Fährmann
231dd4c800
accumulate postprocessor objects ( #994 )
...
Instead of one 'postprocessors' setting overwriting all others lower
in the hierarchy, all postprocessors along the config path will now
get collected into one big list.
For example '--mtime-from-date' will therefore no longer cause
other postprocessor settings in a config file to get ignored.
4 years ago
Mike Fährmann
392d022b04
implement 'config.accumulate()' ( #994 )
4 years ago
Mike Fährmann
3afd362e2e
add 'sleep-extractor' option ( closes #964 )
...
(would have been nice if this were possible without code duplication)
4 years ago
Mike Fährmann
3108e85b89
[worldthree] remove extractors
...
http://www.slide.world-three.org/ hasn't been accessible for a long time.
4 years ago
Mike Fährmann
8fed3eb8cb
[jaiminisbox] remove extractors
...
https://jaiminisbox.com/post.html
4 years ago
Mike Fährmann
dcf3ad7eef
[furaffinity] update download URL extraction ( fixes #988 )
...
support the new 'd2.facdn.net' subdomain
4 years ago
Mike Fährmann
3918b69677
remove 'extractor.blacklist' context manager
4 years ago
Mike Fährmann
c78aa17506
add general 'blacklist' and 'whitelist' options ( #492 , #844 )
4 years ago
Mike Fährmann
abda352a5b
add '--no-skip' command-line option ( closes #986 )
4 years ago
Mike Fährmann
5912727b88
support format string replacement fields in archive paths
...
(closes #985 )
4 years ago
Mike Fährmann
2b8d57f0ab
[twitter] support '/intent/user?user_id=…' URLs ( #980 )
4 years ago
Mike Fährmann
a3b473bd2f
[twitter] support specifying users by ID ( #980 )
...
by using 'id:…' as their screen name, i.e.
https://www.twitter.com/id:2976459548/media
instead of
https://twitter.com/supernaturepics/media
The user ID can, for example, be obtained from the output of
$ gallery-dl -j --range 1 https://twitter.com/ <screen-name>
4 years ago
Mike Fährmann
a0d916ed41
[exhentai] update wait time before original image download ( #978 )
...
depend on 'wait-max', don't use a hard-coded value
4 years ago
Mike Fährmann
f6fd449b59
reduce wait time growth rate from exponential to linear
...
Waiting for 2**N seconds after each error grows too fast.
Simply waiting N seconds seems far more reasonable.
4 years ago
Mike Fährmann
bc48514d84
[aryion] get post ID via gallery-item ( fixes #981 , closes #982 )
...
this even works when fetching post IDs from '/latest.php?id='
4 years ago
Mike Fährmann
799ca07fc8
[imgur] update
...
- fix image/album detection for galleries
- use new API endpoints for image/album data
4 years ago
Mike Fährmann
b5243297ff
write skipped files to archive ( closes #550 )
4 years ago
Mike Fährmann
ac3036ef56
add 'filesize-min' and 'filesize-max' options ( closes #780 )
4 years ago
Mike Fährmann
7876a03ece
[tumblr] create directories for each post ( fixes #965 )
...
This changes the identifiers for directory format string fields.
Everything blog related is now inside a 'blog' object
and not at the "base level" anymore.
E.g. '{name}' for directories is now '{blog[name]}'
(or '{blog_name}', since that is also available)
4 years ago