Post about DeviantArt feeds

This commit is contained in:
~lucidiot 2022-01-19 21:48:49 +01:00
parent 43916df482
commit 5db760fa8e
1 changed files with 79 additions and 0 deletions

View File

@ -635,5 +635,84 @@
<p>While the Atom feed feels a little crude to me, a constant abuser of XML namespaces inside of feeds, I like the idea of what is basically a static site generator whose content comes from feeds. Static sites always feel much more manageable to me, be it as a developer, as a server administrator, or as an archivist. I do have an archivist side, with how much I've been using the Internet Archive in all my projects.</p>
]]></description>
</item>
<item>
<title>DeviantArt feeds</title>
<pubDate>Wed, 19 Jan 2022 21:40:42 +0100</pubDate>
<guid isPermaLink="false">deviantart</guid>
<category domain="https://envs.net/~lucidiot/rsrsss/">Tip</category>
<link>https://www.deviantart.com/developers/rss</link>
<description><![CDATA[
<p>Some websites like YouTube or Tumblr still provide syndication feeds, but rarely advertise them. They would rather see its use die down until they can safely just remove it, because managing a single page that generates a bunch of XML is way too much to ask for in a world full of JavaScript, JSON and social media. Websites whose audience are usually developers like GitHub or GitLab generally do the opposite and serve more feeds because the devs want them. It is quite unfortunate that syndication feeds are now mostly restricted to technical people, and I'm pretty sure Google Reader's death is partly to blame.</p>
<p>DeviantArt is not aimed at developers but deviants (I guess they're both <em>devs</em>?) but still provides some RSS feeds. With their recent redesign, they have been doing away with most of their comfy and featureful interface to replace it with some laggy experience that's inconsistent with its own mobile apps. Every switch back to a page that still uses the old UI is a breath of fresh air.</p>
<p>One of those pages is the <a href="https://www.deviantart.com/developers/rss">RSS feeds documentation</a>, which also makes me a little worried that they might do away with RSS feeds at some point. They still do serve RSS feeds anyway, allowing you to search for deviations or journal entries. The feeds use Media RSS, which could make them usable on a Playstation Portable if you know how to work around the SSL issues. There is one base URL for all of the feeds:</p>
<p><a href="https://backend.deviantart.com/rss.xml" target="_blank"><code>https://backend.deviantart.com/rss.xml</code></a></p>
<p>The query parameters for the feeds are pretty poorly documented, so here is my attempt at it:</p>
<dl>
<dt>limit</dt>
<dd>How many items to return at once. Defaults to and cannot exceed 60.</dd>
<dt>q</dt>
<dd>
Search query. When omitted, the feed will return the most popular results. The search syntax is <a href="https://www.deviantartsupport.com/en/article/are-there-any-tricks-to-narrowing-down-a-search-on-deviantart" target="_blank">partially documented on the official help center</a>. Additional operators that are not documented on this page include:
<dl>
<dt>boost:</dt>
<dd>The only known value is <code>popular</code>, to sort by most popular.</dd>
<dt>by:</dt>
<dd>Synonym for the officially documented <code>username:</code>. Filters by the name of the submitter.</dd>
<dt>gallery:</dt>
<dd>Synonym for the officially documented <code>username:</code>. Filters by the name of the submitter.</dd>
<dt>location_tag:</dt>
<dd>Filter by a location tag.</dd>
<dt>in:</dt>
<dd>Filters by a category. Category names here are pretty poorly documented, especially since DeviantArt is doing away with categories, but they seem to all have a name only in lowercase and with no spaces. For subcategories, use a slash as a path separator: <code>digitalart/drawings</code>.</dd>
<dt>sort:</dt>
<dd>
Change the sorting mode. Values are that are known to work include:
<dl>
<dt>popular</dt>
<dd>Sort by most popular first.</dd>
<dt>time</dt>
<dd>Sort by most recent first.</dd>
</dl>
This filter overrides both <code>boost:</code> and <code>special:</code>.
</dd>
<dt>special:</dt>
<dd>
Special filter? I don't know, it's pretty redundant. Known values include:
<dl>
<dt>popular</dt>
<dd>Sort by most popular first.</dd>
<dt>newest</dt>
<dd>Sort by most recent first.</dd>
<dt>critiquable</dt>
<dd>Only include deviations that accept critiques. Now causes an HTTP 500 error.</dd>
</dl>
Any other value seems to cause an HTTP 500 error.
</dd>
<dt>subject_tag:</dt>
<dd>Filter by a subject tag.</dd>
<dt>tag:</dt>
<dd>Filter by a tag.</dd>
</dl>
</dd>
<dt>offset</dt>
<dd>Offset to start at, for pagination. Defaults to zero. You can also use the <code>&lt;atom link rel="next" /&gt;</code> tags to get pre-made URLs for the next page.</dd>
<dt>order</dt>
<dd>
An integer controlling the sorting. This is overriden by any sorting options specified in <code>q</code>.<br />
It seems that the only two valid values are <code>9</code> for most popular, and any other integer for newest.
</dd>
<dt>type</dt>
<dd>
Type of items to retrieve. Values that are known to work include:
<ul>
<li>deviation (default)</li>
<li>journal</li>
</ul>
</dd>
</dl>
<p>Some of those query parameters were found by digging through a million URLs archived by the Wayback Machine using <a href="https://github.com/internetarchive/wayback/tree/master/wayback-cdx-server" target="_blank">their CDX server</a>.</p>
<p>If you have any further knowledge that should be added here, feel free to <a href="https://tilde.town/~lucidiot/contact.html" target="_blank">contact me</a></p>.
]]></description>
</item>
</channel>
</rss>