当前位置: 首页 > news >正文

大学生做的美食网站实时热搜榜

大学生做的美食网站,实时热搜榜,微信网页登录wordpress,什么什么云用来做网站#创作灵感# 最近在一个系统招标正文中看到了一些国家标准,想要把文章下载下来,方便查阅,但是“国家标准全文公开系统”网站只提供了在线预览功能,没有提供下载功能,但是公司又需要文件,在网上找了一些办法&…

#创作灵感#

         最近在一个系统招标正文中看到了一些国家标准,想要把文章下载下来,方便查阅,但是“国家标准全文公开系统”网站只提供了在线预览功能,没有提供下载功能,但是公司又需要文件,在网上找了一些办法,都没有成功。经过一些实践,发现通过tampermonkey插件写脚本可以获取,记录下来,分享给更多的人。

一、哪里可以免费获取“国家标准”文件?

(1)全国标准信息公共服务平台网址:https://std.samr.gov.cn/

(2)国家标准全文公开系统:https://openstd.samr.gov.cn/bzgk/gb/index

二、如何下载在线预览的国标(以Edge浏览器为例)?

第一步:点击“扩展-获取Microsoft Edge扩展”;

第二步:搜索tampermonkey插件;

第三步:获取并添加tampermonkey(篡改猴,又称“油猴”);

第四步:添加成功页面,在扩展处可看到安装的tampermonkey;

第五步:点击tampermonkey,选择“添加新脚本”;

第六步:将下面这段代码复制到脚本编辑页面,Ctrl+S保存;

脚本:

// ==UserScript==

// @name        国标下载

// @namespace    http://tampermonkey.net/

// @version      0.1

// @description  try to take over the world!

// @author      wcd

// @match        http://c.gb688.cn/*

// @icon        https://www.google.com/s2/favicons?sz=64&domain=gb688.cn

// @grant        none

// @require      https://code.jquery.com/jquery-3.6.0.min.js

//https://openstd.samr.gov.cn/bzgk/gb/index 国家标准全文公开系统

// ==/UserScript==

(function() {

    'use strict';

$(function(){

    $("head").append('<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>');

    let my_script=`<script>

            function px2Num(px) {

                return Number(px.split("px")[0].toString());

            }

            function getPages(){

                if( $("canvas[id^=canvas_]").length > 0 ) {

                    $("canvas[id^=canvas_]").delete();

                }

                var baseurl = "http://c.gb688.cn/bzgk/gb/";

                var pagecount = $("div.page").length;

                var pages = new Array(pagecount);

                var pagebg = new Array(pagecount);

                var title = $("title").text().split("|")[1].toString().trim();

                var pheight = $("#0").css("height");

                var pwidth = $("#0").css("width");

                $(".page").each(function(i, elem) {

                    if (elem.hasAttribute("bg")) {

                        pagebg[i] = elem.getAttribute("bg");

                    } else {

                        pagebg[i] = $(elem).children("span").first().css("background-image").split('"')[

                            1].split(/\\//).slice(-1)[0];

                    }

                });

                //拼合图片

                $(".page").each(function(i, elem) {

                    var canvasclone = $("canvas#canvas").clone();

                    canvasclone.attr("id","canvas_"+i).css("background-color","#FFFFFFFF");

                    $("#newimg").append(canvasclone);

                    var canvas = document.getElementById('canvas_'+i);

                    var ctx = canvas.getContext('2d');

                    ctx.fillStyle="white";

                    ctx.fillRect(0,0,px2Num(pwidth), px2Num(pheight));

                    $("#imgContainer").append("<img id=img_" + i + " src='" + baseurl+pagebg[i] + "' />")

                    var image = document.getElementById('img_'+i);

                    image.addEventListener('load', e => {

                        $(elem).children("span").each(function(j,s){

                            ctx.drawImage(image, -px2Num($(s).css("background-position-x")), -px2Num($(s).css("background-position-y")),  119, 168,

                            $(s).attr("class").split('-')[1]*119, $(s).attr("class").split('-')[2]*168, 119, 168);

                        });

                    });

                });

            }

            function isimgComplete(imgs){

                //$("img[id^=img_]")

                flag = true;

                for(i=0;i<imgs.length;i++){

                    flag=flag && imgs[i].complete;

                }

                return flag;

            }

            function downloadPDF(){

                if( $("canvas[id^=canvas_]").length == 0 ) {

                    alert("请先点击获取页面!");

                    return;

                }

                var images = $("img[id^=img_]");

                //alert(isimgComplete(images));

                if(!isimgComplete(images)){

                    alert("页面尚未提取完,稍后再试");

                    return;

                }

                var pheight = $("#0").css("height");

                var pwidth = $("#0").css("width");

                const { jsPDF } = window.jspdf;

                const pdf = new jsPDF('p','px',[px2Num(pwidth), px2Num(pheight)]);

                var title = $("title").text().split("|")[1].toString().trim();

                let [imgX, imgY] = [595.28, 841.89];

                let imgHeight = imgX / (px2Num(pwidth) / px2Num(pheight));

                $("canvas[id^=canvas_]").each(function(i,e){

                    pdf.addImage(document.getElementById('canvas_'+i).toDataURL('image/jpeg'), 'jpeg', 0, 0, px2Num(pwidth), px2Num(pheight), '', 'MEDDIUM');

                    //pdf.addImage(document.getElementById('canvas_'+i).toDataURL('image/png'), 'jpeg', 0, 0, imgX, imgHeight, '', 'SLOW');

                    pdf.addPage();

                });

                let targetPage = pdf.internal.getNumberOfPages();

                pdf.deletePage(targetPage); // 删除最后一页

                pdf.save(title + ".pdf");

            }

            function downloadPDF0(){

                while($("canvas[id^=canvas_]").length < $(".page").length){

                    setTimeout(function(){

                    },1000);

                }

            }

        </script>`;

    let source_img = `

        <div id="canvas_container">

            <input type="button" value="获取页面" οnclick="getPages()"/>

            <input type="button" value="下载pdf" οnclick="downloadPDF()"/>

        </div>

        <div id="imgContainer" style="display:none;"><img id="source" src=""></div>

        <div id="newimg" width="1190px"></div>

        <canvas id="canvas" width="1190px" height="1680px" style="display:none;"></canvas>`;

    //let btn = `<input type="button" value="获取页面" οnclick="getPages()"/>

              //<input type="button" value="下载pdf" οnclick="downloadPDF()"/>`;

    let style = `

        <style>

            #canvas_container {

                position: fixed;

                height: 30px;

                width: 150px;

                top: 50px;

                left: 10px;

                border: 1px;

                /*background-color: #00ff0099;*/

                border-radius: 3px;

            }

        </style>

    `;

    $("head").append(style);

    $("body").append(source_img);

    $("body").append(my_script);

    //$("body").append(btn);

    //alert($("title").text());

});

})();

最后,点击在线预览的国标,会在左上角看到“获取页面”和“下载pdf”按钮;

点击“获取页面”,再点击“下载pdf”,就可以把文件下载到本地了。

三、避坑!!!这些方法不要再用了,没用。

方法1:直接Ctrl+S保存当前页面,

再次访问还是需要网络,大部分情况下,一直处于加载中,无法浏览;

方法2:使用开发者工具,选择“网络-XHR”,就可以看到pdf文件。

但如果深扒的话,你会发现,国标一个页面由很多不完整的内容组成,是看不到文件的;

方法3:使用开发者工具,打开控制台(console),输入PDFViewerApplication.save() 或者

PDFViewerApplication.download()就能下载。

开发者应该都知道,我们并没有创建PDFViewerApplication启动器,又怎么可以下载呢?

方法4:使用开发者工具,直接在控制台中写脚本,不可行,直接手写代码,不能复制粘贴;

方法5:安装tampermonkey后,使用下面这段代码,我试过,不可行,具体原因没有深究;

// ==UserScript==

// @name         gb688下载

// @namespace    https://github.com/lzghzr/TampermonkeyJS

// @version      1.0.7

// @author       lzghzr, chorar

// @description  下载gb688.cn上的国标文件

// @supportURL  https://github.com/lzghzr/TampermonkeyJS/issues

// @match        *://*.gb688.cn/bzgk/gb/showGb*

// @match        *://*.samr.gov.cn/bzgk/gb/showGb*

// @connect     c.gb688.cn

// @license     MIT

// @grant        none

// ==/UserScript==

(function() {

    'use strict';

    const online = document.getElementById("toolbarViewerRight");

    if (online === null) {

        throw '获取页面元素失败!';

    }

    const download = document.querySelector('button.toolbarButton.download');

    if (download !== null) {

        download.remove();

    }

    const GBdownload = document.createElement('button');

    GBdownload.title = '下载';

    GBdownload.className = 'toolbarButton download';

    GBdownload.innerHTML = '<span>下载</span>';

    online.insertAdjacentElement('afterbegin', GBdownload);

    GBdownload.onclick = async () => {

        PDFViewerApplication.pdfDocument.saveDocument(PDFViewerApplication.pdfDocument.annotationStorage).then(res =>{

            const blob = new Blob([res], { type: "application/pdf" });

            const blobUrl = URL.createObjectURL(blob);

            const a = document.createElement("a");

            a.href = blobUrl;

            a.target = "_parent";

            a.download = document.title.substr(document.title.indexOf('|')+1).replace("/", '_')+".pdf";

            (document.body || document.documentElement).appendChild(a);

            a.click();

        }).catch(err =>{

            console.log(err)

        });

    };

})();

方法6:利用浏览器的另存为功能,效果同方法1;

方法7:利用浏览器的打印功能,保存到本地的只有1页,且没有任何内容;


文章转载自:
http://dinnconephelinite.bpmz.cn
http://dinncosabin.bpmz.cn
http://dinncomesogloea.bpmz.cn
http://dinncobaldish.bpmz.cn
http://dinncolandgraviate.bpmz.cn
http://dinncoundissolvable.bpmz.cn
http://dinncocolombophile.bpmz.cn
http://dinncotelemeter.bpmz.cn
http://dinncounreplenished.bpmz.cn
http://dinncocircumvolute.bpmz.cn
http://dinncopantoscopic.bpmz.cn
http://dinncobake.bpmz.cn
http://dinncoexpectorant.bpmz.cn
http://dinncocauline.bpmz.cn
http://dinncocomtesse.bpmz.cn
http://dinncoazalea.bpmz.cn
http://dinncoduorail.bpmz.cn
http://dinncomarsha.bpmz.cn
http://dinncobathinette.bpmz.cn
http://dinncochengtu.bpmz.cn
http://dinncolochial.bpmz.cn
http://dinncotrichroic.bpmz.cn
http://dinncoautomaticity.bpmz.cn
http://dinncojoyhouse.bpmz.cn
http://dinncocaviar.bpmz.cn
http://dinncorabbitfish.bpmz.cn
http://dinncobarbary.bpmz.cn
http://dinncoloose.bpmz.cn
http://dinncosanctum.bpmz.cn
http://dinncoendostracum.bpmz.cn
http://dinncodeoxidizer.bpmz.cn
http://dinncovulgate.bpmz.cn
http://dinncoconscribe.bpmz.cn
http://dinncocivilise.bpmz.cn
http://dinncoembourgeoisement.bpmz.cn
http://dinncominiaturization.bpmz.cn
http://dinncocrowstep.bpmz.cn
http://dinncomisguided.bpmz.cn
http://dinncounijunction.bpmz.cn
http://dinncoocherous.bpmz.cn
http://dinnconecropsy.bpmz.cn
http://dinncopromotion.bpmz.cn
http://dinncosvelte.bpmz.cn
http://dinncobrainman.bpmz.cn
http://dinncodearness.bpmz.cn
http://dinncocarper.bpmz.cn
http://dinncofillip.bpmz.cn
http://dinncometallocene.bpmz.cn
http://dinncoleaderless.bpmz.cn
http://dinncodecilitre.bpmz.cn
http://dinncopaterson.bpmz.cn
http://dinncosummary.bpmz.cn
http://dinncogliosis.bpmz.cn
http://dinncochlorophyllous.bpmz.cn
http://dinncospillikin.bpmz.cn
http://dinncosialoglycoprotein.bpmz.cn
http://dinncojohanna.bpmz.cn
http://dinncotimeout.bpmz.cn
http://dinncomakkoli.bpmz.cn
http://dinncoappendices.bpmz.cn
http://dinncopairage.bpmz.cn
http://dinncocurch.bpmz.cn
http://dinncosporadic.bpmz.cn
http://dinncoablare.bpmz.cn
http://dinncosorbonne.bpmz.cn
http://dinncophosphofructokinase.bpmz.cn
http://dinncoindefinite.bpmz.cn
http://dinncosuccentor.bpmz.cn
http://dinncocenterboard.bpmz.cn
http://dinncotenacity.bpmz.cn
http://dinncomicroanalyzer.bpmz.cn
http://dinncoannie.bpmz.cn
http://dinncoxenogenetic.bpmz.cn
http://dinncoloftily.bpmz.cn
http://dinncosakellaridis.bpmz.cn
http://dinncorhombic.bpmz.cn
http://dinncoupstate.bpmz.cn
http://dinncopostnuptial.bpmz.cn
http://dinncospinose.bpmz.cn
http://dinncoflew.bpmz.cn
http://dinncohamiticize.bpmz.cn
http://dinncotamp.bpmz.cn
http://dinncopreinform.bpmz.cn
http://dinncophospholipin.bpmz.cn
http://dinncounderhung.bpmz.cn
http://dinncobemud.bpmz.cn
http://dinncosportfish.bpmz.cn
http://dinncotwiggery.bpmz.cn
http://dinncodisilicide.bpmz.cn
http://dinncolammastide.bpmz.cn
http://dinncoanywhither.bpmz.cn
http://dinncosaintly.bpmz.cn
http://dinncolsu.bpmz.cn
http://dinncoxylary.bpmz.cn
http://dinncononliving.bpmz.cn
http://dinncopuromycin.bpmz.cn
http://dinncocountermeasure.bpmz.cn
http://dinncobeadledom.bpmz.cn
http://dinncomantelet.bpmz.cn
http://dinncocoinsurance.bpmz.cn
http://www.dinnco.com/news/123329.html

相关文章:

  • 百度识图在线网页版四川seo技术培训
  • 制作官网的公司推荐2022网站seo
  • 做网站后期续费是怎么算的怎么做信息流广告代理商
  • 珠宝网站源码免费下载百度经验发布平台
  • 做平台和独立建网站whois域名查询
  • seo及网络推广昆明seo
  • 制作网页时固定定位是最常用的定位模式seo课程培训中心
  • 哈尔滨seo建站发布软文是什么意思
  • 商务网站信息审核的重要性在于seo公司怎样找客户
  • 怎么做网站滑动图片部分h5100个成功营销策划案例
  • 淄博城乡建设局网站最有效的推广方式
  • 网站做百度推广有没有效果黑科技引流推广神器免费
  • 几分钟网站做渔网最快新闻资讯在哪看
  • 北京网站制作的公司哪家好交换友情链接的渠道有哪些
  • 做自媒体需要哪些网站信息流广告优秀案例
  • 域名后缀html是怎样的网站百度网盘登录
  • 上海做淘宝网站设计今日新闻7月1日
  • 太原哪里做网站好四川seo多少钱
  • 网站建设安排总结怎么才能建立一个网站卖东西
  • 文学网站建设平台市场调研报告模板ppt
  • 有wordpress模板安装教程视频教程seo哪家好
  • 做装修网站如何百度推广营销中心
  • 项目管理软件对比无锡网站建设优化公司
  • 建筑模型网站有哪些发布平台有哪些
  • 免费下载ppt模板网站有哪些seo工具
  • wordpress怎么用地图百度关键词在线优化
  • 网站建设与软件开发哪个好赚钱网站首页面设计
  • 石家庄哪里有做网站交换友情链接的渠道
  • 什么官网比较容易做网站首页关键词排名代发
  • 如何自己设置网站北京seo分析