Map sensitive as sketchy on danbooru + small fix

pull/16/head
neobooru 2022-10-22 00:43:25 +02:00
parent de16edd143
commit be6111e166
5 changed files with 18 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{
"name": "neo-scraper",
"version": "0.5.6",
"version": "0.5.7",
"description": "Scrape a booru-like post object from the DOM.",
"type": "module",
"main": "dist/index.js",

View File

@ -34,3 +34,15 @@ test("get danbooru.donmai.us post 4924490", async () => {
expect(res.posts[0].notes).toHaveLength(17);
expect(res.posts[0]).toHaveNote("Nya~nya ♪");
});
test("get danbooru.donmai.us post 4530532", async () => {
const pageUrl = "https://danbooru.donmai.us/posts/4530532";
const res = await scrapeUrl(pageUrl);
expect(res.posts.length).toBe(1);
expect(res.posts[0].rating).toBe("sketchy");
expect(res.posts[0]).toHaveTag("chainsaw_man", "copyright");
expect(res.posts[0]).toHaveResolution([1105, 1803]);
expect(res.posts[0].pageUrl).toBe(pageUrl);
expect(res.posts[0].contentUrl).toBe(
"https://cdn.donmai.us/original/fc/e3/__makima_power_and_reze_chainsaw_man_drawn_by_hews__fce35c7a8515a00c566b288a591fd5f9.png");
});

View File

@ -55,6 +55,7 @@ export default class Danbooru extends ScrapeEngineBase {
case "safe":
post.rating = "safe";
break;
case "sensitive":
case "questionable":
post.rating = "sketchy";
break;

View File

@ -127,7 +127,9 @@ export default class Gelbooru extends ScrapeEngineBase {
// Some <li/> don't actually contain a name.
// E.g. the sub-headers ("Copyright", "Character", "General", "Meta") on rule34.xxx
if (nameElements.length > 0) {
tagName = el.getElementsByTagName("a")[0].innerText;
// Get the last element, because rule34.xxx also adds a "?" link in front.
const linkEls = Array.from(el.getElementsByTagName("a"));
tagName = linkEls[linkEls.length - 1].innerText;
} else {
continue;
}

View File

@ -4,6 +4,7 @@ test("get rule34.paheal.net post 2505982", async () => {
const pageUrl = "https://rule34.paheal.net/post/view/2505982"; // Somewhat sketchy
const res = await scrapeUrl(pageUrl);
expect(res.posts.length).toBe(1);
expect(res.posts[0]).toHaveTag("kai'sa");
expect(res.posts[0].pageUrl).toBe(pageUrl);
expect(res.posts[0]).toHaveSource(
"http://law-zilla.tumblr.com/post/171249285285/finished-subdraw-37-kaisa-from-league-of-legends"