-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[arca.live] Add extractor skeleton #7100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
gallery_dl/extractor/arcalive.py
Outdated
return self._pagination(endpoint, params, "articles") | ||
|
||
def post(self, post_id): | ||
endpoint = "/api/app/view/article/breaking/" + str(post_id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: breaking
covers the whole site. Any post that is on specific board is also always on breaking
. Or, at least I believe it is.
Related issue: #5657 |
compile and cache regex on demand
- extract 'data-originalurl' URLs if available - replace URL query strings with 'type=orig' - ignore emoticons by default
- include 'title' in filenames - use 0.5-1.5s delay between requests
so it doesn't also match 'post' URLs
Thanks for the initial code and all the resources you provided. I made a few updates and most of the Danbooru tests now pass except the fake |
This is a draft with only api calls so far.
The actual extraction part with parsing the response is not implemented. Help would be appreciated.
For specific post examples and caveats see https://github.com/hdk5/danbooru/blob/arca-live/test/unit/sources/arca_live_test.rb.
Board extractor is expected to work with search params, e.g. https://arca.live/b/bluearchive?target=nickname&keyword=horuhara.
As user pages only return few most recent results and therefore don't exactly make much sense as global search by name is preferred, I chose not to implement it.
If needed, the api for this is at https://arca.live/api/app/users/recent?nickname=...&publicId=... for https://arca.live/u/@nickname/publicId, where publicId is not always present.