Greasy Fork is available in English.

企查查、爱企查、天眼查专利列表下载

下载企查查、爱企查、天眼查的专利列表,页面显示专利信息即可下载。

// ==UserScript==
// @name         企查查、爱企查、天眼查专利列表下载
// @namespace    http://tampermonkey.net/
// @version      4.2
// @description  下载企查查、爱企查、天眼查的专利列表,页面显示专利信息即可下载。
// @author       angeljhon
// @match        *://www.qcc.com/*/*
// @match        *://www.tianyancha.com/*/*
// @match        *://aiqicha.baidu.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

function sleep(delay) {
    var start = (new Date()).getTime();
    while((new Date()).getTime() - start < delay) {
        continue;
    }
}

//生成从minNum到maxNum的随机数
function randomNum(minNum,maxNum){
    switch(arguments.length){
        case 1:
            return Math.ceil(parseInt(Math.random()*minNum+1,10));
        break;
        case 2:
            return Math.ceil(parseInt(Math.random()*(maxNum-minNum+1)+minNum,10));
        break;
            default:
                return 0;
            break;
    }
}

(function() {
	'use strict';

	// Create a new button element
	const button = document.createElement('button');
	button.innerText = '下载';

	// Change the button style
	button.style.backgroundColor = 'black';
	button.style.color = 'white';
	button.style.position = 'fixed';
	button.style.bottom = '20px';
	button.style.right = '5px';
	button.style.zIndex = '9999';
    button.style.width ='60px';
    button.style.height = '30px';

	// Add the button to the page
	document.body.appendChild(button);
    var dl_name="专利列表.xls";
    var c_name="";
	// Add a click event listener to the button
	button.addEventListener('click', () => {
		var exportFileContent="";
        if(document.URL.search('qcc.com')!=-1){
            var e_s=document.querySelector("#zhuanlilist");
            var hh = e_s.querySelectorAll("span.tbadge")[1].textContent;
            //var e_li = e_lu.querySelectorAll("li.active");
            var e_lu =e_s.querySelector("ul.pagination");
            var e_li = e_lu.querySelectorAll("li");

            if(e_lu.querySelector("li.active").querySelector("a").textContent.replaceAll(' ','').replaceAll('\n','')!="1"){
                for(var i=0;i<e_li.length;i++){
                    var a_t=e_li[i].querySelector("a");
                    console.log(a_t.textContent);
                    if(a_t.textContent.replaceAll(' ','').replaceAll('\n','')=="1"||a_t.textContent.replaceAll(' ','').replaceAll('\n','')=="1..."){
                        a_t.click();
                    }
                }
            }
            e_s=document.querySelector("#zhuanlilist");
            exportFileContent = exportFileContent + e_s.querySelector("table.ntable").outerHTML;
        }else if(document.URL.search('tianyancha')!=-1){
            var targetText="专利名称";
            var ts_e= document.getElementsByClassName('table-wrap');
            ww1:{
                for(var i3=0;i3<ts_e.length;i3++){
                    var zhuangli_es=ts_e[i3].getElementsByTagName('th');
                    for(var ii=0;ii<zhuangli_es.length;ii++){
                        var tarelement = zhuangli_es[ii];
                        if (tarelement.textContent == targetText){
                            //exportFileContent=ts_e[i3].outerHTML;
                            var target_e=ts_e[i3];
                            break ww1;
                        }
                    }
                }
            }
            if(target_e.parentElement.querySelector("div.active").textContent!="1"){
                var num_es=target_e.parentElement.querySelector("div.pageWrap").querySelectorAll("div.num");
                for(var i2=0;i2<num_es.length;i2++){
                    if(num_es[i2].textContent==="1"||num_es[i].textContent==="1..."){
                        num_es[i2].click();
                    }
                }
            }
            exportFileContent=target_e.outerHTML;
        }else if(document.URL.search('aiqicha.baidu')!=-1){
            document.querySelector("#certRecord-patent").querySelector("li.ivu-page-item[title='1']").click();
            exportFileContent = document.querySelector(".certRecord-patent-table").outerHTML;
        }

        var che0="1";
        var cou=0;
		var intervalId = setInterval(function() {
			if(cou!=0 && cou%20==0){//这里是翻n(20)页后暂停一会
				var st=randomNum(1000,5000);//这里是翻页后暂停的时间,随机重(t1,t2)单位ms
                console.log("暂停"+String(st)+"ms");
                sleep(st);
			}
            if(document.URL.search('qcc.com')!=-1){
                var e_s=document.querySelector("#zhuanlilist");
                var e_lu =e_s.querySelector("ul.pagination");
                var che1=e_lu.querySelector("li.active").querySelector("a").textContent.replaceAll(' ','').replaceAll('\n','');
                if(che1!=che0){
                    exportFileContent = exportFileContent + e_s.querySelector("table.ntable").outerHTML;
                    che0=che1;
                }
                e_lu =e_s.querySelector("ul.pagination");
                var e_li = e_lu.querySelectorAll("li");
                var flag=0;
                for(var i=0;i<e_li.length;i++){
                    var a_t=e_li[i].querySelector("a");
                    if(a_t.textContent.replaceAll(' ','').replaceAll('\n','')==">"){
                        a_t.click();
                        console.log(cou);
                        cou++;
                        flag=1;
                    }
                }
            }else if(document.URL.search('tianyancha')!=-1){
                var targetText="专利名称";
                var ts_e= document.getElementsByClassName('table-wrap');
                ww1:{
                    for(var i1=0;i1<ts_e.length;i1++){
                        var zhuangli_es=ts_e[i1].getElementsByTagName('th');
                        for(var ii=0;ii<zhuangli_es.length;ii++){
                            var tarelement = zhuangli_es[ii];
                            if (tarelement.textContent == targetText){
                                //exportFileContent=ts_e[i].outerHTML;
                                var target_e=ts_e[i1];
                                break ww1;
                            }
                        }
                    }
                }
                if(target_e.parentElement.querySelector("div.active").textContent!=che0){
                    exportFileContent=exportFileContent+target_e.outerHTML;
                    che0=target_e.parentElement.querySelector("div.active").textContent;
                }
                flag=0;
                var num_es=target_e.parentElement.querySelector("div.pageWrap").querySelectorAll("div.num");
                if(num_es[num_es.length-1].childElementCount!=0){
                    num_es[num_es.length-1].click();
                    console.log(cou);
                    cou++;
                    flag=1;
                }
            }else if(document.URL.search('aiqicha.baidu')!=-1){
				var at_e=document.querySelector("#certRecord-patent").querySelector("li.ivu-page-item.ivu-page-item-active").textContent;
				if(at_e!=che0){
					exportFileContent = exportFileContent+document.querySelector(".certRecord-patent-table").outerHTML;
					che0=at_e;
				}
				flag=0;
				var nextp=document.querySelector("#certRecord-patent").querySelector("li.ivu-page-next[title='下一页']");
				if(nextp && !document.querySelector("#certRecord-patent").querySelector("li.ivu-page-next.ivu-page-disabled[title='下一页']")){
					nextp.click();
					console.log(cou);
                    cou++;
                    flag=1;
				}
			}
			if(flag==0){
				clearInterval(intervalId);
                if(document.URL.search('qcc.com')!=-1){
                    c_name =document.querySelector("h1.copy-value").textContent;
                    dl_name=c_name+"_企查查_专利列表.xls";
                    exportFileContent=exportFileContent.replaceAll('</table><table class="ntable"><!----> <tr><!----> <th class="tx">序号</th> <th width="13%" class="">发明名称<!----> <!----></th><th width="8%" class="">专利类型<!----> <!----></th><th class="">法律状态<!----> <!----></th><th width="13%" class="">申请号<!----> <!----></th><th width="10%" class="sort-th"><span class="tsort">申请日期<!----> <span class="tsort-icon"></span></span> <!----></th><th class="">公开(公告)号<!----> <!----></th><th width="11.8%" class="sort-th"><span class="tsort">公开(公告)日期<!----> <span class="tsort-icon"></span></span> <!----></th><th width="auto" class="">发明人<!----> <!----></th><th width="5%" class="">内容<!----> <!----></th></tr> <tr><!----> ','');
                }else if(document.URL.search('aiqicha.baidu')!=-1){
					c_name =document.querySelector(".name").textContent;
					dl_name=c_name+"_爱企查_专利列表.xls";
					exportFileContent=exportFileContent.replaceAll('</table><table class="aqc-detail-table certRecord-patent-table"><thead class="aqc-detail-thead"><tr class="table-header"><td class="table-header-title" style="width: 50px;"><span class="sort-header"><span>序号</span><!----><!----></span></td><td class="table-header-title" style="width: 389px;"><span class="sort-header"><span>专利名称</span><!----><!----></span></td><td class="table-header-title" style="width: 140px;"><span class="sort-header"><span>公布/公告号</span><!----><!----></span></td><td class="table-header-title" style="width: 100px;"><span class="sort-header"><span>专利类型</span><!----><!----></span></td><td class="table-header-title" style="width: 100px;"><span class="sort-header"><span>公布/公告日期</span><!----><!----></span></td><td class="table-header-title" style="width: 60px;"><span class="sort-header"><span>操作</span><!----><!----></span></td></tr></thead>','');
				}else if(document.URL.search('tianyancha')!=-1){
					c_name =document.querySelector(".index_company-name__LqKlo").textContent;
					dl_name=c_name+"_天眼查_专利列表.xls";
					exportFileContent=exportFileContent.replaceAll('</table><table class="table-wrap"><colgroup><col width="56"><col width="120"><col width=""><col width="100"><col width="100"><col width="160"><col width="160"><col width="136"><col width="120"><col width="56"></colgroup><thead class="table-thead"><tr><th class="">序号</th><th class="show-sort">申请日<span class="sort-icon sort-icon-default"></span></th><th class="">专利名称</th><th class="">专利类型</th><th class="">专利状态</th><th class="">申请号</th><th class="">公开(公布)号</th><th class="show-sort">公开(公告)日<span class="sort-icon sort-icon-default"></span></th><th class="">发明人</th><th class="">操作</th></tr></thead>','');
				}
				if(exportFileContent != undefined){
					//使用Blob
					var blob = new Blob([exportFileContent], {type: "text/plain;charset=utf-8"});//解决中文乱码问题
					blob = new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
					//设置链接
					var link = window.URL.createObjectURL(blob);
					var a = document.createElement("a");
					//a.download = "专利列表.xls";
					a.download = dl_name;
					a.href = link;
					document.body.appendChild(a);
					a.click();
					document.body.removeChild(a);
				}else{
					alert("下载失败!");
				}
			}
		}, randomNum(500,1000));//这里是翻页的间隔速度,会随机从800-3000,单位ms
    });
})();