mirror of
https://github.com/NaiboWang/EasySpider.git
synced 2025-04-21 13:55:17 +08:00
V0.6.0 Pre
This commit is contained in:
parent
4fbef32674
commit
82dac5ad00
@ -63,7 +63,7 @@ def compress_folder_to_7z_split(folder_path, output_file):
|
|||||||
except:
|
except:
|
||||||
subprocess.call(["7zz", "a", "-v95m", output_file, folder_path])
|
subprocess.call(["7zz", "a", "-v95m", output_file, folder_path])
|
||||||
|
|
||||||
easyspider_version = "0.5.0"
|
easyspider_version = "0.6.0"
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
@ -81,8 +81,8 @@ if __name__ == "__main__":
|
|||||||
os.remove("./EasySpider_windows_x64/mysql_config.json")
|
os.remove("./EasySpider_windows_x64/mysql_config.json")
|
||||||
os.mkdir("./EasySpider_windows_x64/Data")
|
os.mkdir("./EasySpider_windows_x64/Data")
|
||||||
os.mkdir("./EasySpider_windows_x64/execution_instances")
|
os.mkdir("./EasySpider_windows_x64/execution_instances")
|
||||||
compress_folder_to_7z_split("./EasySpider_windows_x64", file_name)
|
# compress_folder_to_7z_split("./EasySpider_windows_x64", file_name)
|
||||||
print(f"Compress {file_name} Split successfully!")
|
# print(f"Compress {file_name} Split successfully!")
|
||||||
compress_folder_to_7z("./EasySpider_windows_x64", file_name)
|
compress_folder_to_7z("./EasySpider_windows_x64", file_name)
|
||||||
print(f"Compress {file_name} successfully!")
|
print(f"Compress {file_name} successfully!")
|
||||||
elif sys.platform == "win32" and platform.architecture()[0] == "32bit":
|
elif sys.platform == "win32" and platform.architecture()[0] == "32bit":
|
||||||
@ -99,8 +99,8 @@ if __name__ == "__main__":
|
|||||||
os.remove("./EasySpider_windows_x32/mysql_config.json")
|
os.remove("./EasySpider_windows_x32/mysql_config.json")
|
||||||
os.mkdir("./EasySpider_windows_x32/Data")
|
os.mkdir("./EasySpider_windows_x32/Data")
|
||||||
os.mkdir("./EasySpider_windows_x32/execution_instances")
|
os.mkdir("./EasySpider_windows_x32/execution_instances")
|
||||||
compress_folder_to_7z_split("./EasySpider_windows_x32", file_name)
|
# compress_folder_to_7z_split("./EasySpider_windows_x32", file_name)
|
||||||
print(f"Compress {file_name} Split successfully!")
|
# print(f"Compress {file_name} Split successfully!")
|
||||||
compress_folder_to_7z("./EasySpider_windows_x32", file_name)
|
compress_folder_to_7z("./EasySpider_windows_x32", file_name)
|
||||||
print(f"Compress {file_name} successfully!")
|
print(f"Compress {file_name} successfully!")
|
||||||
elif sys.platform == "linux" and platform.architecture()[0] == "64bit":
|
elif sys.platform == "linux" and platform.architecture()[0] == "64bit":
|
||||||
@ -129,6 +129,6 @@ if __name__ == "__main__":
|
|||||||
shutil.rmtree("./EasySpider_MacOS_all_arch/Data")
|
shutil.rmtree("./EasySpider_MacOS_all_arch/Data")
|
||||||
os.mkdir("./EasySpider_MacOS_all_arch/Data")
|
os.mkdir("./EasySpider_MacOS_all_arch/Data")
|
||||||
subprocess.call(["tar", "-zcvf", file_name, "./EasySpider_MacOS_all_arch"])
|
subprocess.call(["tar", "-zcvf", file_name, "./EasySpider_MacOS_all_arch"])
|
||||||
subprocess.call(["7zz", "a", "-v95m", file_name.replace(".tar.gz", ".7z"), file_name, "请继续解压EasySpider_MacOS_all_arch.tar.gz使用.txt"])
|
# subprocess.call(["7zz", "a", "-v95m", file_name.replace(".tar.gz", ".7z"), file_name, "请继续解压EasySpider_MacOS_all_arch.tar.gz使用.txt"])
|
||||||
print(f"Compress {file_name} successfully!")
|
print(f"Compress {file_name} successfully!")
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ def update_file_version(file_path, new_version, key="当前版本/Current Versio
|
|||||||
file.write(line)
|
file.write(line)
|
||||||
|
|
||||||
|
|
||||||
version = "0.5.0"
|
version = "0.6.0"
|
||||||
|
|
||||||
# py html js
|
# py html js
|
||||||
|
|
||||||
|
342
ElectronJS/package-lock.json
generated
342
ElectronJS/package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "easy-spider",
|
"name": "easy-spider",
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "easy-spider",
|
"name": "easy-spider",
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
@ -26,7 +26,7 @@
|
|||||||
"@electron-forge/maker-rpm": "^6.0.5",
|
"@electron-forge/maker-rpm": "^6.0.5",
|
||||||
"@electron-forge/maker-squirrel": "^6.0.5",
|
"@electron-forge/maker-squirrel": "^6.0.5",
|
||||||
"@electron-forge/maker-zip": "^6.0.5",
|
"@electron-forge/maker-zip": "^6.0.5",
|
||||||
"electron": "^20.0.1"
|
"electron": "^27.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron-forge/cli": {
|
"node_modules/@electron-forge/cli": {
|
||||||
@ -1676,17 +1676,6 @@
|
|||||||
"typedarray": "^0.0.6"
|
"typedarray": "^0.0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/config-chain": {
|
|
||||||
"version": "1.1.13",
|
|
||||||
"resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz",
|
|
||||||
"integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"dependencies": {
|
|
||||||
"ini": "^1.3.4",
|
|
||||||
"proto-list": "~1.2.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/console-control-strings": {
|
"node_modules/console-control-strings": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -1977,12 +1966,6 @@
|
|||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/duplexer3": {
|
|
||||||
"version": "0.1.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz",
|
|
||||||
"integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/eastasianwidth": {
|
"node_modules/eastasianwidth": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -1994,21 +1977,21 @@
|
|||||||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
|
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
|
||||||
},
|
},
|
||||||
"node_modules/electron": {
|
"node_modules/electron": {
|
||||||
"version": "20.3.12",
|
"version": "27.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/electron/-/electron-20.3.12.tgz",
|
"resolved": "https://registry.npmjs.org/electron/-/electron-27.1.3.tgz",
|
||||||
"integrity": "sha512-CuCZKhwdSXaUNIoEuPVZ25YH18zmox3wEM8Acwcy9tlpD8Jiuq3ji3RZ98eVWJalrpqbdE9LtTD/sLC86GIkLg==",
|
"integrity": "sha512-7eD8VMhhlL5J531OOawn00eMthUkX1e3qN5Nqd7eMK8bg5HxQBrn8bdPlvUEnCano9KhrVwaDnGeuzWoDOGpjQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron/get": "^1.14.1",
|
"@electron/get": "^2.0.0",
|
||||||
"@types/node": "^16.11.26",
|
"@types/node": "^18.11.18",
|
||||||
"extract-zip": "^2.0.1"
|
"extract-zip": "^2.0.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"electron": "cli.js"
|
"electron": "cli.js"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 10.17.0"
|
"node": ">= 12.20.55"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron-installer-common": {
|
"node_modules/electron-installer-common": {
|
||||||
@ -2176,226 +2159,6 @@
|
|||||||
"node": ">= 4.0.0"
|
"node": ">= 4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron/node_modules/@electron/get": {
|
|
||||||
"version": "1.14.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz",
|
|
||||||
"integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"debug": "^4.1.1",
|
|
||||||
"env-paths": "^2.2.0",
|
|
||||||
"fs-extra": "^8.1.0",
|
|
||||||
"got": "^9.6.0",
|
|
||||||
"progress": "^2.0.3",
|
|
||||||
"semver": "^6.2.0",
|
|
||||||
"sumchecker": "^3.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.6"
|
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"global-agent": "^3.0.0",
|
|
||||||
"global-tunnel-ng": "^2.7.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/@sindresorhus/is": {
|
|
||||||
"version": "0.14.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
|
|
||||||
"integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/@szmarczak/http-timer": {
|
|
||||||
"version": "1.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
|
|
||||||
"integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"defer-to-connect": "^1.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/@types/node": {
|
|
||||||
"version": "16.18.38",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.38.tgz",
|
|
||||||
"integrity": "sha512-6sfo1qTulpVbkxECP+AVrHV9OoJqhzCsfTNp5NIG+enM4HyM3HvZCO798WShIXBN0+QtDIcutJCjsVYnQP5rIQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/cacheable-request": {
|
|
||||||
"version": "6.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
|
|
||||||
"integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"clone-response": "^1.0.2",
|
|
||||||
"get-stream": "^5.1.0",
|
|
||||||
"http-cache-semantics": "^4.0.0",
|
|
||||||
"keyv": "^3.0.0",
|
|
||||||
"lowercase-keys": "^2.0.0",
|
|
||||||
"normalize-url": "^4.1.0",
|
|
||||||
"responselike": "^1.0.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/decompress-response": {
|
|
||||||
"version": "3.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
|
|
||||||
"integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"mimic-response": "^1.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/defer-to-connect": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/fs-extra": {
|
|
||||||
"version": "8.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
|
||||||
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"graceful-fs": "^4.2.0",
|
|
||||||
"jsonfile": "^4.0.0",
|
|
||||||
"universalify": "^0.1.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6 <7 || >=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/got": {
|
|
||||||
"version": "9.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
|
|
||||||
"integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@sindresorhus/is": "^0.14.0",
|
|
||||||
"@szmarczak/http-timer": "^1.1.2",
|
|
||||||
"cacheable-request": "^6.0.0",
|
|
||||||
"decompress-response": "^3.3.0",
|
|
||||||
"duplexer3": "^0.1.4",
|
|
||||||
"get-stream": "^4.1.0",
|
|
||||||
"lowercase-keys": "^1.0.1",
|
|
||||||
"mimic-response": "^1.0.1",
|
|
||||||
"p-cancelable": "^1.0.0",
|
|
||||||
"to-readable-stream": "^1.0.0",
|
|
||||||
"url-parse-lax": "^3.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/got/node_modules/get-stream": {
|
|
||||||
"version": "4.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
|
|
||||||
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"pump": "^3.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/got/node_modules/lowercase-keys": {
|
|
||||||
"version": "1.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
|
|
||||||
"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/json-buffer": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/jsonfile": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
|
|
||||||
"dev": true,
|
|
||||||
"optionalDependencies": {
|
|
||||||
"graceful-fs": "^4.1.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/keyv": {
|
|
||||||
"version": "3.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
|
|
||||||
"integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"json-buffer": "3.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/normalize-url": {
|
|
||||||
"version": "4.5.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
|
|
||||||
"integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/p-cancelable": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/responselike": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"lowercase-keys": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/responselike/node_modules/lowercase-keys": {
|
|
||||||
"version": "1.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
|
|
||||||
"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/semver": {
|
|
||||||
"version": "6.3.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
|
|
||||||
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
|
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
|
||||||
"semver": "bin/semver.js"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/universalify": {
|
|
||||||
"version": "0.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
|
|
||||||
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/emoji-regex": {
|
"node_modules/emoji-regex": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -3154,22 +2917,6 @@
|
|||||||
"which": "bin/which"
|
"which": "bin/which"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/global-tunnel-ng": {
|
|
||||||
"version": "2.7.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz",
|
|
||||||
"integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"dependencies": {
|
|
||||||
"encodeurl": "^1.0.2",
|
|
||||||
"lodash": "^4.17.10",
|
|
||||||
"npm-conf": "^1.1.3",
|
|
||||||
"tunnel": "^0.0.6"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/globalthis": {
|
"node_modules/globalthis": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -4296,30 +4043,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/npm-conf": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"dependencies": {
|
|
||||||
"config-chain": "^1.1.11",
|
|
||||||
"pify": "^3.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/npm-conf/node_modules/pify": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/npm-run-path": {
|
"node_modules/npm-run-path": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -4728,15 +4451,6 @@
|
|||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prepend-http": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
|
|
||||||
"integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/process-nextick-args": {
|
"node_modules/process-nextick-args": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
@ -4761,13 +4475,6 @@
|
|||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/proto-list": {
|
|
||||||
"version": "1.2.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
|
|
||||||
"integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true
|
|
||||||
},
|
|
||||||
"node_modules/proxy-addr": {
|
"node_modules/proxy-addr": {
|
||||||
"version": "2.0.7",
|
"version": "2.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||||
@ -5632,15 +5339,6 @@
|
|||||||
"tmp": "^0.2.0"
|
"tmp": "^0.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/to-readable-stream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/to-regex-range": {
|
"node_modules/to-regex-range": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -5689,16 +5387,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "0BSD"
|
"license": "0BSD"
|
||||||
},
|
},
|
||||||
"node_modules/tunnel": {
|
|
||||||
"version": "0.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
|
||||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/type-fest": {
|
"node_modules/type-fest": {
|
||||||
"version": "0.21.3",
|
"version": "0.21.3",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -5765,18 +5453,6 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/url-parse-lax": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
|
|
||||||
"integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"prepend-http": "^2.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/username": {
|
"node_modules/username": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "easy-spider",
|
"name": "easy-spider",
|
||||||
"productName": "EasySpider",
|
"productName": "EasySpider",
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"icon": "./favicon",
|
"icon": "./favicon",
|
||||||
"description": "NoCode Visual Web Crawler",
|
"description": "NoCode Visual Web Crawler",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
@ -27,7 +27,7 @@
|
|||||||
"@electron-forge/maker-rpm": "^6.0.5",
|
"@electron-forge/maker-rpm": "^6.0.5",
|
||||||
"@electron-forge/maker-squirrel": "^6.0.5",
|
"@electron-forge/maker-squirrel": "^6.0.5",
|
||||||
"@electron-forge/maker-zip": "^6.0.5",
|
"@electron-forge/maker-zip": "^6.0.5",
|
||||||
"electron": "^20.0.1"
|
"electron": "^27.1.3"
|
||||||
},
|
},
|
||||||
"repository": "https://github.com/NaiboWang/EasySpider",
|
"repository": "https://github.com/NaiboWang/EasySpider",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -66,7 +66,7 @@
|
|||||||
],
|
],
|
||||||
"packagerConfig": {
|
"packagerConfig": {
|
||||||
"icon": "./favicon",
|
"icon": "./favicon",
|
||||||
"appVersion": "0.5.0",
|
"appVersion": "0.6.0",
|
||||||
"name": "EasySpider",
|
"name": "EasySpider",
|
||||||
"executableName": "EasySpider",
|
"executableName": "EasySpider",
|
||||||
"appCopyright": "Naibo Wang (naibowang@foxmail.com)",
|
"appCopyright": "Naibo Wang (naibowang@foxmail.com)",
|
||||||
|
@ -323,7 +323,7 @@ exports.start = function(port = 8074) {
|
|||||||
task = JSON.parse(task);
|
task = JSON.parse(task);
|
||||||
try{
|
try{
|
||||||
task["links"] = data["urlList_0"];
|
task["links"] = data["urlList_0"];
|
||||||
if (tasks["links"] == undefined) {
|
if (task["links"] == undefined) {
|
||||||
task["links"] = "about:blank";
|
task["links"] = "about:blank";
|
||||||
}
|
}
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
<p><a @click="changeLang('en')" class="btn btn-outline-primary btn-lg"
|
<p><a @click="changeLang('en')" class="btn btn-outline-primary btn-lg"
|
||||||
style="margin-top: 15px; width: 300px;height:60px;padding-top:12px;">English</a></p>
|
style="margin-top: 15px; width: 300px;height:60px;padding-top:12px;">English</a></p>
|
||||||
<p style="font-size: 17px">当前版本/Current Version: <b>v0.5.0</b></p>
|
<p style="font-size: 17px">当前版本/Current Version: <b>v0.6.0</b></p>
|
||||||
<p style="font-size: 17px"><a href="https://github.com/NaiboWang/EasySpider/releases" target="_blank">Github</a>最新版本/Newest Version:<b>{{newest_version}}</b></p>
|
<p style="font-size: 17px"><a href="https://github.com/NaiboWang/EasySpider/releases" target="_blank">Github</a>最新版本/Newest Version:<b>{{newest_version}}</b></p>
|
||||||
<!-- <p>如发现新版本更新,可从以下Github仓库下载最新版本使用/If a new version is found, you can download the latest version from the following Github repository:</p>-->
|
<!-- <p>如发现新版本更新,可从以下Github仓库下载最新版本使用/If a new version is found, you can download the latest version from the following Github repository:</p>-->
|
||||||
<!-- <p></p>-->
|
<!-- <p></p>-->
|
||||||
|
@ -195,7 +195,7 @@
|
|||||||
<button class="btn btn-primary" v-on:mousedown= 'addPara'>New Field</button>
|
<button class="btn btn-primary" v-on:mousedown= 'addPara'>New Field</button>
|
||||||
</p>
|
</p>
|
||||||
<p><input onkeydown="inputDelete(event)" type="checkbox" v-model='nowNode["parameters"]["clear"]'></input>Clear other field existing values before extracting</p>
|
<p><input onkeydown="inputDelete(event)" type="checkbox" v-model='nowNode["parameters"]["clear"]'></input>Clear other field existing values before extracting</p>
|
||||||
<p><input onkeydown="inputDelete(event)" type="checkbox" v-model='nowNode["parameters"]["newLine"]'></input>This operation will generate a new row of data: </p>
|
<p><input onkeydown="inputDelete(event)" type="checkbox" v-model='nowNode["parameters"]["newLine"]'></input>This operation will generate a new row of data <span style="font-size: 30px!important;" title="If unchecked, it will use the same row of data as the previous operation. If checked, it will generate a new row of data.">☺</span> </p>
|
||||||
<div class="toolkitcontain">
|
<div class="toolkitcontain">
|
||||||
<table class="toolkittb2" cellspacing="0">
|
<table class="toolkittb2" cellspacing="0">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -339,7 +339,7 @@ if (mobile == "true") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let serviceInfo = {
|
let serviceInfo = {
|
||||||
"version": "0.5.0"
|
"version": "0.6.0"
|
||||||
};
|
};
|
||||||
|
|
||||||
function saveService(type) {
|
function saveService(type) {
|
||||||
@ -473,7 +473,7 @@ function saveService(type) {
|
|||||||
"links": links,
|
"links": links,
|
||||||
"create_time": parseInt(serviceId) == -1 ? new Date().toLocaleString() : $("#create_time").val(),
|
"create_time": parseInt(serviceId) == -1 ? new Date().toLocaleString() : $("#create_time").val(),
|
||||||
"update_time": new Date().toLocaleString(),
|
"update_time": new Date().toLocaleString(),
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"saveThreshold": saveThreshold,
|
"saveThreshold": saveThreshold,
|
||||||
"cloudflare": cloudflare,
|
"cloudflare": cloudflare,
|
||||||
"environment": environment,
|
"environment": environment,
|
||||||
|
871
ElectronJS/tasks/212.json
Normal file
871
ElectronJS/tasks/212.json
Normal file
@ -0,0 +1,871 @@
|
|||||||
|
{
|
||||||
|
"id": 212,
|
||||||
|
"name": "中国地震台网——历史查询",
|
||||||
|
"url": "https://www.ceic.ac.cn/history",
|
||||||
|
"links": "https://www.ceic.ac.cn/history",
|
||||||
|
"create_time": "12/4/2023, 2:50:18 AM",
|
||||||
|
"update_time": "12/4/2023, 2:50:18 AM",
|
||||||
|
"version": "0.6.0",
|
||||||
|
"saveThreshold": 10,
|
||||||
|
"cloudflare": 0,
|
||||||
|
"environment": 0,
|
||||||
|
"maxViewLength": 15,
|
||||||
|
"recordLog": 1,
|
||||||
|
"outputFormat": "xlsx",
|
||||||
|
"saveName": "current_time",
|
||||||
|
"inputExcel": "",
|
||||||
|
"startFromExit": 0,
|
||||||
|
"containJudge": false,
|
||||||
|
"desc": "https://www.ceic.ac.cn/history",
|
||||||
|
"inputParameters": [
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"name": "urlList_0",
|
||||||
|
"nodeId": 1,
|
||||||
|
"nodeName": "打开网页",
|
||||||
|
"value": "https://www.ceic.ac.cn/history",
|
||||||
|
"desc": "要采集的网址列表,多行以\\n分开",
|
||||||
|
"type": "text",
|
||||||
|
"exampleValue": "https://www.ceic.ac.cn/history"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "inputText_1",
|
||||||
|
"nodeName": "输入文字",
|
||||||
|
"nodeId": 2,
|
||||||
|
"desc": "要输入的文本,如京东搜索框输入:电脑",
|
||||||
|
"type": "text",
|
||||||
|
"exampleValue": "15",
|
||||||
|
"value": "15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"name": "loopTimes_循环_2",
|
||||||
|
"nodeId": 4,
|
||||||
|
"nodeName": "循环",
|
||||||
|
"desc": "循环循环执行的次数(0代表无限循环)",
|
||||||
|
"type": "int",
|
||||||
|
"exampleValue": 0,
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"outputParameters": [
|
||||||
|
{
|
||||||
|
"id": 0,
|
||||||
|
"name": "参数1_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "4.7"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "参数2_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "2023-11-1100:54:38"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"name": "参数3_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "23.42"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"name": "参数4_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "121.70"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"name": "参数5_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "30"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"name": "参数6_链接文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "台湾台东县海域"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"name": "参数7_链接地址",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "https://news.ceic.ac.cn/CD20231111005438.html"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"name": "参数8_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "震级(M)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"name": "参数9_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "发震时刻(UTC+8)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"name": "参数10_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "纬度(°)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"name": "参数11_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "经度(°)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"name": "参数12_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "深度(千米)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"name": "参数13_文本",
|
||||||
|
"desc": "",
|
||||||
|
"type": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"exampleValue": "参考位置"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"graph": [
|
||||||
|
{
|
||||||
|
"index": 0,
|
||||||
|
"id": 0,
|
||||||
|
"parentId": 0,
|
||||||
|
"type": -1,
|
||||||
|
"option": 0,
|
||||||
|
"title": "root",
|
||||||
|
"sequence": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"parameters": {
|
||||||
|
"history": 1,
|
||||||
|
"tabIndex": 0,
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 0,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0
|
||||||
|
},
|
||||||
|
"isInLoop": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"index": 1,
|
||||||
|
"parentId": 0,
|
||||||
|
"type": 0,
|
||||||
|
"option": 1,
|
||||||
|
"title": "打开网页",
|
||||||
|
"sequence": [],
|
||||||
|
"isInLoop": false,
|
||||||
|
"position": 0,
|
||||||
|
"parameters": {
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "",
|
||||||
|
"wait": 0,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"url": "https://www.ceic.ac.cn/history",
|
||||||
|
"links": "https://www.ceic.ac.cn/history",
|
||||||
|
"maxWaitTime": 10,
|
||||||
|
"scrollType": 0,
|
||||||
|
"scrollCount": 1,
|
||||||
|
"scrollWaitTime": 1,
|
||||||
|
"cookies": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"index": 2,
|
||||||
|
"parentId": 0,
|
||||||
|
"type": 0,
|
||||||
|
"option": 4,
|
||||||
|
"title": "输入文字",
|
||||||
|
"sequence": [],
|
||||||
|
"isInLoop": false,
|
||||||
|
"position": 1,
|
||||||
|
"parameters": {
|
||||||
|
"history": 4,
|
||||||
|
"tabIndex": -1,
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "//*[@id=\"weidu1\"]",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 0,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"value": "15",
|
||||||
|
"index": 0,
|
||||||
|
"allXPaths": [
|
||||||
|
"/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[2]/input[1]",
|
||||||
|
"//input[contains(., '')]",
|
||||||
|
"id(\"weidu1\")",
|
||||||
|
"//INPUT[@class='span1']",
|
||||||
|
"//INPUT[@name='weidu1']",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div[last()-3]/input[last()-1]"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"index": 3,
|
||||||
|
"parentId": 0,
|
||||||
|
"type": 0,
|
||||||
|
"option": 2,
|
||||||
|
"title": "点击查询",
|
||||||
|
"sequence": [],
|
||||||
|
"isInLoop": false,
|
||||||
|
"position": 2,
|
||||||
|
"parameters": {
|
||||||
|
"history": 4,
|
||||||
|
"tabIndex": -1,
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "//*[@id=\"search\"]",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 2,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"scrollType": 0,
|
||||||
|
"scrollCount": 1,
|
||||||
|
"scrollWaitTime": 1,
|
||||||
|
"clickWay": 0,
|
||||||
|
"maxWaitTime": 10,
|
||||||
|
"paras": [],
|
||||||
|
"allXPaths": [
|
||||||
|
"/html/body/div[1]/div[3]/div[1]/div[1]/div[1]/form[1]/div[5]/a[1]",
|
||||||
|
"//a[contains(., '查询')]",
|
||||||
|
"id(\"search\")",
|
||||||
|
"//A[@class='check']",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div[last()-1]/form/div/a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"index": 4,
|
||||||
|
"parentId": 0,
|
||||||
|
"type": 1,
|
||||||
|
"option": 8,
|
||||||
|
"title": "循环",
|
||||||
|
"sequence": [
|
||||||
|
6,
|
||||||
|
5
|
||||||
|
],
|
||||||
|
"isInLoop": false,
|
||||||
|
"position": 3,
|
||||||
|
"parameters": {
|
||||||
|
"history": 4,
|
||||||
|
"tabIndex": -1,
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "//*[contains(@class, \"pagination\")]/ul[1]/li[last()-1]/a[1]",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 0,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"scrollType": 0,
|
||||||
|
"scrollCount": 1,
|
||||||
|
"scrollWaitTime": 1,
|
||||||
|
"loopType": 0,
|
||||||
|
"pathList": "",
|
||||||
|
"textList": "",
|
||||||
|
"code": "",
|
||||||
|
"waitTime": 0,
|
||||||
|
"exitCount": 0,
|
||||||
|
"historyWait": 2,
|
||||||
|
"breakMode": 0,
|
||||||
|
"breakCode": "",
|
||||||
|
"breakCodeWaitTime": 0,
|
||||||
|
"allXPaths": [
|
||||||
|
"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/ul[1]/li[10]/a[1]",
|
||||||
|
"//a[contains(., '»')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div/div/div/ul/li[last()-1]/a"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"index": 5,
|
||||||
|
"parentId": 4,
|
||||||
|
"type": 0,
|
||||||
|
"option": 2,
|
||||||
|
"title": "点击»",
|
||||||
|
"sequence": [],
|
||||||
|
"isInLoop": true,
|
||||||
|
"position": 1,
|
||||||
|
"parameters": {
|
||||||
|
"history": 4,
|
||||||
|
"tabIndex": -1,
|
||||||
|
"useLoop": true,
|
||||||
|
"xpath": "",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 2,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"scrollType": 0,
|
||||||
|
"scrollCount": 1,
|
||||||
|
"scrollWaitTime": 1,
|
||||||
|
"clickWay": 0,
|
||||||
|
"maxWaitTime": 10,
|
||||||
|
"paras": [],
|
||||||
|
"allXPaths": [
|
||||||
|
"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[2]/div[1]/div[1]/ul[1]/li[10]/a[1]",
|
||||||
|
"//a[contains(., '»')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div/div/div/ul/li[last()-1]/a"
|
||||||
|
],
|
||||||
|
"loopType": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"index": 6,
|
||||||
|
"parentId": 4,
|
||||||
|
"type": 1,
|
||||||
|
"option": 8,
|
||||||
|
"title": "循环",
|
||||||
|
"sequence": [
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"isInLoop": true,
|
||||||
|
"position": 0,
|
||||||
|
"parameters": {
|
||||||
|
"history": 4,
|
||||||
|
"tabIndex": -1,
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 0,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"scrollType": 0,
|
||||||
|
"scrollCount": 1,
|
||||||
|
"scrollWaitTime": 1,
|
||||||
|
"loopType": 1,
|
||||||
|
"pathList": "",
|
||||||
|
"textList": "",
|
||||||
|
"code": "",
|
||||||
|
"waitTime": 0,
|
||||||
|
"exitCount": 0,
|
||||||
|
"historyWait": 2,
|
||||||
|
"breakMode": 0,
|
||||||
|
"breakCode": "",
|
||||||
|
"breakCodeWaitTime": 0,
|
||||||
|
"allXPaths": [
|
||||||
|
"/html/body/div[1]/div[3]/div[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]",
|
||||||
|
"//tr[contains(., '震级(M)发震时刻(')]",
|
||||||
|
"//TR[@class='speed-tr-h1']",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"index": 7,
|
||||||
|
"parentId": 5,
|
||||||
|
"type": 0,
|
||||||
|
"option": 3,
|
||||||
|
"title": "提取数据",
|
||||||
|
"sequence": [],
|
||||||
|
"isInLoop": true,
|
||||||
|
"position": 0,
|
||||||
|
"parameters": {
|
||||||
|
"history": 4,
|
||||||
|
"tabIndex": -1,
|
||||||
|
"useLoop": false,
|
||||||
|
"xpath": "",
|
||||||
|
"iframe": false,
|
||||||
|
"wait": 0,
|
||||||
|
"waitType": 0,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"waitElement": "",
|
||||||
|
"waitElementTime": 10,
|
||||||
|
"waitElementIframeIndex": 0,
|
||||||
|
"clear": 0,
|
||||||
|
"newLine": 1,
|
||||||
|
"paras": [
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数1_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[1]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[1]",
|
||||||
|
"//td[contains(., '4.7')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-5]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "4.7"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[1]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数2_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[2]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[2]",
|
||||||
|
"//td[contains(., '2023-11-11')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-4]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "2023-11-1100:54:38"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[2]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数3_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[3]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[3]",
|
||||||
|
"//td[contains(., '23.42')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-3]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "23.42"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[3]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数4_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[4]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[4]",
|
||||||
|
"//td[contains(., '121.70')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-2]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "121.70"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[4]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数5_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[5]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[5]",
|
||||||
|
"//td[contains(., '30')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td[last()-1]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "30"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[5]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 1,
|
||||||
|
"contentType": 0,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数6_链接文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[6]/a[1]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[6]/a[1]",
|
||||||
|
"//a[contains(., '台湾台东县海域')]",
|
||||||
|
"id(\"cid\")",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td/a"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "台湾台东县海域"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[6]/a[1]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 2,
|
||||||
|
"contentType": 0,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数7_链接地址",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/td[6]/a[1]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/td[6]/a[1]",
|
||||||
|
"//a[contains(., '台湾台东县海域')]",
|
||||||
|
"id(\"cid\")",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr/td/a"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 0,
|
||||||
|
"value": "https://news.ceic.ac.cn/CD20231111005438.html"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/td[6]/a[1]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数8_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/th[1]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/th[1]",
|
||||||
|
"//th[contains(., '震级(M)')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-5]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 1,
|
||||||
|
"value": "震级(M)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/th[1]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数9_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/th[2]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/th[2]",
|
||||||
|
"//th[contains(., '发震时刻(UTC+8')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-4]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 1,
|
||||||
|
"value": "发震时刻(UTC+8)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/th[2]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数10_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/th[3]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/th[3]",
|
||||||
|
"//th[contains(., '纬度(°)')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-3]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 1,
|
||||||
|
"value": "纬度(°)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/th[3]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数11_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/th[4]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/th[4]",
|
||||||
|
"//th[contains(., '经度(°)')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-2]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 1,
|
||||||
|
"value": "经度(°)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/th[4]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数12_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/th[5]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/th[5]",
|
||||||
|
"//th[contains(., '深度(千米)')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th[last()-1]"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 1,
|
||||||
|
"value": "深度(千米)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/th[5]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nodeType": 0,
|
||||||
|
"contentType": 1,
|
||||||
|
"relative": true,
|
||||||
|
"name": "参数13_文本",
|
||||||
|
"desc": "",
|
||||||
|
"relativeXPath": "/th[6]",
|
||||||
|
"allXPaths": [
|
||||||
|
"/th[6]",
|
||||||
|
"//th[contains(., '参考位置')]",
|
||||||
|
"/html/body/div[last()-3]/div[last()-1]/div/div/div/div/div[last()-1]/table/tbody/tr[last()-20]/th"
|
||||||
|
],
|
||||||
|
"exampleValues": [
|
||||||
|
{
|
||||||
|
"num": 1,
|
||||||
|
"value": "参考位置"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"unique_index": "/th[6]",
|
||||||
|
"iframe": false,
|
||||||
|
"default": "",
|
||||||
|
"paraType": "text",
|
||||||
|
"recordASField": 1,
|
||||||
|
"beforeJS": "",
|
||||||
|
"beforeJSWaitTime": 0,
|
||||||
|
"JS": "",
|
||||||
|
"JSWaitTime": 0,
|
||||||
|
"afterJS": "",
|
||||||
|
"afterJSWaitTime": 0,
|
||||||
|
"downloadPic": 0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"loopType": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -96,8 +96,8 @@ if __name__ == "__main__":
|
|||||||
versions = json.loads(response.content)["versions"]
|
versions = json.loads(response.content)["versions"]
|
||||||
versions = versions[::-1] # 倒序排列数组
|
versions = versions[::-1] # 倒序排列数组
|
||||||
for info in versions:
|
for info in versions:
|
||||||
version = info["version"]
|
version = info["version"].split(".")[0]
|
||||||
if version.find(chrome_version) >= 0:
|
if version.find(chrome_version) == 0:
|
||||||
downloads = info["downloads"]
|
downloads = info["downloads"]
|
||||||
if "chromedriver" in downloads:
|
if "chromedriver" in downloads:
|
||||||
print(info["version"])
|
print(info["version"])
|
||||||
|
2
ExecuteStage/.vscode/launch.json
vendored
2
ExecuteStage/.vscode/launch.json
vendored
@ -12,7 +12,7 @@
|
|||||||
"justMyCode": false,
|
"justMyCode": false,
|
||||||
// "args": ["--id", "[7]", "--read_type", "remote", "--headless", "0"]
|
// "args": ["--id", "[7]", "--read_type", "remote", "--headless", "0"]
|
||||||
// "args": ["--id", "[9]", "--read_type", "remote", "--headless", "0", "--saved_file_name", "YOUTUBE"]
|
// "args": ["--id", "[9]", "--read_type", "remote", "--headless", "0", "--saved_file_name", "YOUTUBE"]
|
||||||
"args": ["--id", "[52]", "--headless", "0", "--user_data", "0", "--keyboard", "0"]
|
"args": ["--id", "[54]", "--headless", "0", "--user_data", "0", "--keyboard", "0"]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -1855,7 +1855,7 @@ if __name__ == '__main__':
|
|||||||
"headless": False,
|
"headless": False,
|
||||||
"server_address": "http://localhost:8074",
|
"server_address": "http://localhost:8074",
|
||||||
"keyboard": True, # 是否监听键盘输入
|
"keyboard": True, # 是否监听键盘输入
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
}
|
}
|
||||||
c = Config(config)
|
c = Config(config)
|
||||||
print(c)
|
print(c)
|
||||||
@ -1965,6 +1965,10 @@ if __name__ == '__main__':
|
|||||||
options.add_argument(
|
options.add_argument(
|
||||||
f'--user-data-dir={absolute_user_data_folder}') # TMALL 反扒
|
f'--user-data-dir={absolute_user_data_folder}') # TMALL 反扒
|
||||||
options.add_argument("--profile-directory=Default")
|
options.add_argument("--profile-directory=Default")
|
||||||
|
print("正在使用带用户信息浏览器模式,注意此模式同一个用户信息目录只能同时运行一个浏览器实例,如果需要多开请复制用户信息目录并载入复制的目录地址,具体请参考程序多开文档:https://github.com/NaiboWang/EasySpider/wiki/Run-multiple-tasks-in-parallel")
|
||||||
|
print("Using browser with user data, please note that only one browser instance can be run at the same time with the same user data directory, if you need to run multiple instances, please copy the user data directory and load the copied directory address, please refer to the program multiple open document for details: https://github.com/NaiboWang/EasySpider/wiki/Run-multiple-tasks-in-parallel")
|
||||||
|
print("如果报错Selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally,说明有之前运行的Chrome实例没有正常关闭,请关闭之前打开的所有Chrome实例后再运行程序即可。")
|
||||||
|
print("If you get an error Selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally, it means that there is a Chrome instance that was not closed properly before, please close all Chrome instances that were opened before running the program.")
|
||||||
|
|
||||||
if c.headless:
|
if c.headless:
|
||||||
print("Headless mode")
|
print("Headless mode")
|
||||||
|
@ -188,9 +188,9 @@ def replace_field_values(orginal_text, outputParameters, browser=None):
|
|||||||
try:
|
try:
|
||||||
replaced_text = re.sub(
|
replaced_text = re.sub(
|
||||||
pattern, lambda match: outputParameters.get(match.group(1), ''), orginal_text)
|
pattern, lambda match: outputParameters.get(match.group(1), ''), orginal_text)
|
||||||
if replaced_text.find("EVAL") != -1: # 如果返回值中包含EVAL
|
if re.search(r'eval(', replaced_text, re.IGNORECASE): # 如果返回值中包含EVAL
|
||||||
replaced_text = replaced_text.replace("self.", "browser.")
|
replaced_text = replaced_text.replace("self.", "browser.")
|
||||||
replaced_text = re.sub(r'EVAL\("(.*?)"\)', lambda match: str(eval(match.group(1))), replaced_text)
|
replaced_text = re.sub(r'eval\("(.*?)"\)', lambda match: str(eval(match.group(1))), replaced_text, flags=re.IGNORECASE)
|
||||||
except:
|
except:
|
||||||
replaced_text = orginal_text
|
replaced_text = orginal_text
|
||||||
return replaced_text
|
return replaced_text
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "EasySpider",
|
"name": "EasySpider",
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "rollup -c",
|
"build": "rollup -c",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "EasySpider",
|
"name": "EasySpider",
|
||||||
"version": "0.5.0",
|
"version": "0.6.0",
|
||||||
"description": "EasySpider's chrome extension",
|
"description": "EasySpider's chrome extension",
|
||||||
"author": "Naibo Wang",
|
"author": "Naibo Wang",
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user