WordPress侧边栏Pixiv搜图小工具


前言

P站自从被墙以后找图变得异常不便,用SauceNAO查到ID之后还需借助其他网站或APP才能下载图片。干脆放在网站侧边栏,随时能用,岂不美哉?

本工具使用了pixiv.cat图片代理。
本站小工具使用方法请见本文末

主要功能

该工具主要实现的功能是输入图片p站id显示对应图片。WordPress有自带的自定义HTML小工具,直接输入代码就能实现。点击按钮将输入的id转化为链接并显示,结构简单,不再赘述。代码如下:

<!DOCTYPE html>
<html>
<body>
<script language="JavaScript">  
function reP(){  
    var pixivid=document.getElementById("pixivid").value;
    var pixivurl='https ://pixiv.cat/'+pixivid+'.jpg';
    document.images.oImg.src = pixivurl;
    document.getElementById('oImg').style.display = "block";
}  
</script>  
Pixiv id:
<input type="text" id="pixivid" value="">
<input type="button" value='搜图' onclick="reP()" id="pixivbtn">
<img src="?" id="oImg" alt="" style='display:none' width="100%">
</body>
</html>
HTML

效果如下:

附加功能

P站图片常见格式有.jpg.png。上面代码只有jpg,为了适应其他图片格式,决定加一个单选框手动选格式。代码如下:

<script language="JavaScript">  
function reP(){  
	if(document.getElementById("ckdjpg").checked){
		var pixivurl='https ://pixiv.re/'+pixivid+'.jpg';
	}
	if(document.getElementById("ckdpng").checked){
		var pixivurl='https ://pixiv.re/'+pixivid+'.png';
	}
}  
</script>
<form action="" method="get" id="pixivform"> 
	<label><input name="isjpg" type="radio" id="ckdjpg" />JPG </label> 
	<label><input name="isjpg" type="radio" id="ckdpng" />PNG </label> 
</form>
HTML

可以在<form>标签中加入style="display:inline;"防止换行。在radio的<input>标签中加入checked="checked"令其默认为选中状态。不喜欢单选框可以用下拉列表,看起来会好看一些。

图片显示之后上边的一大堆组件会显得格格不入,可以在按钮函数中加入document.getElementById('id').style.display = "none";将上述组件隐藏。反之可以实现重置效果。

效果预览:

关于代理

pixiv.cat代理使用方式如下:

單張作品
適用於一個作品ID中只有一張圖片的作品
連結: https://pixiv.cat/Pixiv作品數字ID.jpg/png/gif
例如: https://pixiv.cat/66002247.jpg

多張作品 (漫畫模式)
適用於一個作品ID中有多張圖片的作品
連結: https://pixiv.cat/Pixiv作品數字ID-第幾張圖.jpg/png/gif
例如: https://pixiv.cat/65978979-2.png

引用自:https://pixiv.cat/

本站小工具使用说明

使用

1.点击Start按钮开始使用。
2.在第一个空填入图片P站ID。
3.第二个空填入图片页码。p0填1、p1填2,以此类推。同ID仅一张图请不要填写。
4.在下拉菜单选择希望下载的图片文件格式。
5.点击Get获取图片。如未出现任何图片请等待。如果出现错误将显示NOT FOUND。
6.在图片上右键另存为即可保存原画。
7.点击Clear重新使用。

报错

如果显示404 NOT FOUND,可能存在以下错误:

1.该ID不存在、已被删除或已被画师设为隐藏。
2.该ID为组图,存在多张插画。请在页码位置填1测试是否为组图。
3.组图页码填写错误。如P站分页为p0、p1、p2,对应页码为1、2、3。页码超出范围会报错。
4.该ID为单张插画,但页码位置不为空。请将页码位置留空。
5.长时间不显示之后报错,可能只是单纯的网络问题。