Map sensitive as sketchy on danbooru + small fix
parent
de16edd143
commit
be6111e166
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "neo-scraper",
|
"name": "neo-scraper",
|
||||||
"version": "0.5.6",
|
"version": "0.5.7",
|
||||||
"description": "Scrape a booru-like post object from the DOM.",
|
"description": "Scrape a booru-like post object from the DOM.",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|
|
||||||
|
|
@ -34,3 +34,15 @@ test("get danbooru.donmai.us post 4924490", async () => {
|
||||||
expect(res.posts[0].notes).toHaveLength(17);
|
expect(res.posts[0].notes).toHaveLength(17);
|
||||||
expect(res.posts[0]).toHaveNote("Nya~nya ♪");
|
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");
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ export default class Danbooru extends ScrapeEngineBase {
|
||||||
case "safe":
|
case "safe":
|
||||||
post.rating = "safe";
|
post.rating = "safe";
|
||||||
break;
|
break;
|
||||||
|
case "sensitive":
|
||||||
case "questionable":
|
case "questionable":
|
||||||
post.rating = "sketchy";
|
post.rating = "sketchy";
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,9 @@ export default class Gelbooru extends ScrapeEngineBase {
|
||||||
// Some <li/> don't actually contain a name.
|
// Some <li/> don't actually contain a name.
|
||||||
// E.g. the sub-headers ("Copyright", "Character", "General", "Meta") on rule34.xxx
|
// E.g. the sub-headers ("Copyright", "Character", "General", "Meta") on rule34.xxx
|
||||||
if (nameElements.length > 0) {
|
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 {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ test("get rule34.paheal.net post 2505982", async () => {
|
||||||
const pageUrl = "https://rule34.paheal.net/post/view/2505982"; // Somewhat sketchy
|
const pageUrl = "https://rule34.paheal.net/post/view/2505982"; // Somewhat sketchy
|
||||||
const res = await scrapeUrl(pageUrl);
|
const res = await scrapeUrl(pageUrl);
|
||||||
expect(res.posts.length).toBe(1);
|
expect(res.posts.length).toBe(1);
|
||||||
|
expect(res.posts[0]).toHaveTag("kai'sa");
|
||||||
expect(res.posts[0].pageUrl).toBe(pageUrl);
|
expect(res.posts[0].pageUrl).toBe(pageUrl);
|
||||||
expect(res.posts[0]).toHaveSource(
|
expect(res.posts[0]).toHaveSource(
|
||||||
"http://law-zilla.tumblr.com/post/171249285285/finished-subdraw-37-kaisa-from-league-of-legends"
|
"http://law-zilla.tumblr.com/post/171249285285/finished-subdraw-37-kaisa-from-league-of-legends"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue