AI Slop Code RIsk Monitor

NaiboWang/EasySpider

A visual no-code/code-free web crawler/spider易采集:一个可视化浏览器自动化测试/数据采集/网页爬虫软件,可以无代码图形化的设计和执行爬虫任务。别名:ServiceWrapper面向Web应用的智能化服务封装系统。

4.1 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for NaiboWang/EasySpider, a JavaScript project with 44,679 GitHub stars. SynthScan examined 237,672 lines of code across 1595 source files, recording 619 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 4.1 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

4.1
Adjusted Signal
4.1
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
44.7K
Stars
JavaScript
Language
237.7K
Lines of Code
1.6K
Files
619
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 4.5/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 263 finding(s).

Hallucinated Dependency & Supply Chain Risk 3.8/100 · LOW

Are imports declared and package/API names verified? 99 finding(s).

Agent Over-Engineering Ratio 12.7/100 · LOW

Are wrappers, guards, and repeated structures necessary? 329 finding(s).

PR Review Velocity Impact 24.0/100 · LOW

Which changes need focused human review? 619 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 7HIGH 112MEDIUM 30LOW 470

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 619 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Empty Error Handlers87 hits · 420 pts
SeverityFileLineSnippetContext
HIGHExamples/Sample Tasks with Python/desc_crawl.py155except:CODE
HIGHExamples/Sample Tasks with Python/service_invoke.py17except:CODE
HIGHExecuteStage/easyspider_executestage.py2457except:CODE
HIGHExecuteStage/easyspider_executestage.py2686except:CODE
HIGHExecuteStage/easyspider_executestage.py542except:CODE
HIGHExecuteStage/easyspider_executestage.py547except:CODE
HIGHExecuteStage/easyspider_executestage.py609except:CODE
HIGHExecuteStage/easyspider_executestage.py1171except:CODE
HIGHExecuteStage/easyspider_executestage.py1565except:CODE
HIGHExecuteStage/easyspider_executestage.py2601except:CODE
HIGHExecuteStage/easyspider_executestage.py671except:CODE
HIGHExecuteStage/easyspider_executestage.py1181except: # 超时的情况下CODE
HIGHExecuteStage/easyspider_executestage.py1603except:CODE
HIGHExecuteStage/easyspider_executestage.py1793except:CODE
HIGHExecuteStage/easyspider_executestage.py1846except:CODE
HIGHExecuteStage/easyspider_executestage.py1860except:CODE
HIGHExecuteStage/easyspider_executestage.py2513except:CODE
HIGHExecuteStage/easyspider_executestage.py628except:CODE
HIGHExecuteStage/easyspider_executestage.py665except:CODE
HIGHExecuteStage/easyspider_executestage.py684except:CODE
HIGHExecuteStage/easyspider_executestage.py2226except:CODE
HIGHExecuteStage/easyspider_executestage.py2234except:CODE
HIGHExecuteStage/easyspider_executestage.py721except:CODE
HIGHExecuteStage/easyspider_executestage.py870except:CODE
HIGHExecuteStage/utils.py60except:CODE
HIGHExecuteStage/utils.py139except:CODE
HIGHExecuteStage/utils.py162except:CODE
HIGHExecuteStage/easyspider_executestage_single.py868except:CODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py269except AttributeError:CODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py758except (AttributeError, RuntimeError, OSError):CODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py763except AttributeError:CODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py831except: # noqaCODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py363except Exception:CODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py778except FileNotFoundError:CODE
HIGHExecuteStage/undetected_chromedriver_ES/dprocess.py70except: # noqaCODE
HIGHExecuteStage/undetected_chromedriver_ES/patcher.py172except FileNotFoundError:CODE
HIGHExecuteStage/undetected_chromedriver_ES/patcher.py215except Exception as e:CODE
HIGHExecuteStage/undetected_chromedriver_ES/patcher.py272except (FileNotFoundError, OSError):CODE
HIGHExecuteStage/undetected_chromedriver_ES/patcher.py169except PermissionError:CODE
HIGHExecuteStage/undetected_chromedriver_ES/patcher.py305except (OSError, ProcessLookupError):CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py2267except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py2475except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py491except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py496except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py558except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1110except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1485except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py2392except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py620except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1120except: # 超时的情况下CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1523except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1707except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1760except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1774except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py2304except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py577except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py614except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py633except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py2121except:CODE
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py2129except:CODE
27 more matches not shown…
Excessive Try-Catch Wrapping160 hits · 116 pts
SeverityFileLineSnippetContext
LOW…ve Captcha in EasySpider with CapSolver Integration.md338 except Exception as e:STRING
LOW…ve Captcha in EasySpider with CapSolver Integration.md498 except Exception as e:STRING
MEDIUMExecuteStage/easyspider_executestage.py472def removeDuplicateData(self):CODE
LOWExecuteStage/easyspider_executestage.py156 except Exception as e:CODE
LOW⚡ExecuteStage/easyspider_executestage.py1757 except Exception as e:STRING
LOW⚡ExecuteStage/easyspider_executestage.py1762 except Exception as e:STRING
LOW⚡ExecuteStage/easyspider_executestage.py1776 except Exception as e:STRING
LOW⚡ExecuteStage/easyspider_executestage.py1781 except Exception as e:STRING
LOW⚡ExecuteStage/easyspider_executestage.py1795 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py667 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py759 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py769 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py781 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py792 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py811 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py993 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1036 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1158 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1218 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1277 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1406 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1443 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1605 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1617 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1814 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1850 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1865 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py1995 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py2166 except Exception as e:STRING
LOWExecuteStage/easyspider_executestage.py2214 except Exception as e:STRING
MEDIUMExecuteStage/utils.py758 print("Error SQL:", sql, to_write)CODE
MEDIUMExecuteStage/utils.py88def is_valid_url(url):CODE
LOW⚡ExecuteStage/utils.py703 except Exception as e:CODE
LOW⚡ExecuteStage/utils.py709 except Exception as e:CODE
LOW⚡ExecuteStage/utils.py716 except Exception as e:CODE
LOW⚡ExecuteStage/utils.py724 except Exception as e:CODE
LOW⚡ExecuteStage/utils.py732 except Exception as e:CODE
LOWExecuteStage/utils.py54 except Exception as e:CODE
LOWExecuteStage/utils.py268 except Exception as e:CODE
LOWExecuteStage/utils.py270 except Exception as e:CODE
LOWExecuteStage/utils.py395 except Exception as e:CODE
LOWExecuteStage/utils.py619 except Exception as e:CODE
LOWExecuteStage/utils.py756 except Exception as e:CODE
LOWExecuteStage/myCode.py47except Exception as e:CODE
LOWExecuteStage/myChrome.py89 except Exception as e:CODE
LOWExecuteStage/myChrome.py161 except Exception as e:CODE
LOWExecuteStage/myChrome.py206 except Exception as e:CODE
LOWExecuteStage/myChrome.py244 except Exception as e:CODE
LOWExecuteStage/myChrome.py287 except Exception as e:CODE
LOWExecuteStage/myChrome.py303 except Exception as e:CODE
LOWExecuteStage/myChrome.py341 except Exception as e:CODE
MEDIUMExecuteStage/easyspider_executestage_single.py357def get_output_code(output):CODE
LOWExecuteStage/easyspider_executestage_single.py464 except Exception as e:CODE
LOWExecuteStage/easyspider_executestage_single.py496 except Exception as e:CODE
LOWExecuteStage/easyspider_executestage_single.py610 except Exception as e:CODE
LOWExecuteStage/easyspider_executestage_single.py688 except Exception as e:CODE
LOWExecuteStage/easyspider_executestage_single.py735 except Exception as e:CODE
LOWExecuteStage/easyspider_executestage_single.py810 except Exception as e:CODE
LOWExecuteStage/easyspider_executestage_single.py859 except Exception as e:CODE
LOWExecuteStage/undetected_chromedriver_ES/reactor.py51 except Exception as e:CODE
100 more matches not shown…
Hallucination Indicators7 hits · 70 pts
SeverityFileLineSnippetContext
CRITICALExecuteStage/undetected_chromedriver_ES/__init__.py278 else selenium.webdriver.common.service.utils.free_port()CODE
CRITICALElectronJS/EasySpider_zh/content-scripts/main.js7968jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {CODE
CRITICALElectronJS/EasySpider_en/content-scripts/main.js7968jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {CODE
CRITICALElectronJS/src/bootstrap/jquery-1.4.2.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALElectronJS/src/js/jquery-3.4.1.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALElectronJS/src/taskGrid/jquery-3.4.1.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
CRITICALElectronJS/src/taskGrid/bootstrap/jquery-1.4.2.min.js2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):fCODE
Hyper-Verbose Identifiers71 hits · 70 pts
SeverityFileLineSnippetContext
LOWExtension/manifest_v3/src/content-scripts/global.js74function getAbsoluteXPathWithReverseIndex(element) {CODE
LOWExecuteStage/utils.py318def _substitute_fields_as_python_literal(text, outputParameters):CODE
LOWExecuteStage/utils.py333def _substitute_fields_as_js_literal(text, outputParameters):CODE
LOWExecuteStage/llm_beta.py11def predict_structure_from_image(image_path):CODE
LOWElectronJS/main.js61function readSavedMacOSCommandFolder() {CODE
LOWElectronJS/main.js304async function findElementAcrossAllWindows(CODE
LOWElectronJS/EasySpider_zh/content-scripts/global.js76function getAbsoluteXPathWithReverseIndex(element) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js8871function addToPrefiltersOrTransports( structure ) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js8905function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js11896function extractPropsFromVNodeData(data, Ctor, tag) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js13923function createFunctionalComponent(Ctor, propsData, data, contextVm, children) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js13952function cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js14103function createComponentInstanceForVnode(CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js14864function resolveConstructorOptions(Ctor) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js15820 function removeAndInvokeRemoveHook(vnode, rm) {CODE
LOWElectronJS/EasySpider_en/content-scripts/global.js76function getAbsoluteXPathWithReverseIndex(element) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js8871function addToPrefiltersOrTransports( structure ) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js8905function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js11896function extractPropsFromVNodeData(data, Ctor, tag) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js13923function createFunctionalComponent(Ctor, propsData, data, contextVm, children) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js13952function cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js14103function createComponentInstanceForVnode(CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js14864function resolveConstructorOptions(Ctor) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js15820 function removeAndInvokeRemoveHook(vnode, rm) {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.bundle.js105 function getSpecialTransitionEndEvent() {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.bundle.js169 getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.bundle.js2072 function getOffsetRectRelativeToArbitraryNode(children, parent) {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.bundle.js2124 function getViewportOffsetRectRelativeToArtbitraryNode(element) {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.bundle.js2176 function getFixedPositionOffsetParent(element) {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.js106 function getSpecialTransitionEndEvent() {CODE
LOWElectronJS/src/bootstrap/js/bootstrap.js170 getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {CODE
LOWElectronJS/src/js/vue.global.js860 function createArrayInstrumentations() {CODE
LOWElectronJS/src/js/vue.global.js1279 function createInstrumentationGetter(isReadonly, shallow) {CODE
LOWElectronJS/src/js/vue.global.js1799 function callWithAsyncErrorHandling(fn, instance, type, args) {CODE
LOWElectronJS/src/js/vue.global.js2265 function createDevtoolsComponentHook(hook) {CODE
LOWElectronJS/src/js/vue.global.js2272 function createDevtoolsPerformanceHook(hook) {CODE
LOWElectronJS/src/js/vue.global.js2431 function setCurrentRenderingInstance(instance) {CODE
LOWElectronJS/src/js/vue.global.js3167 function normalizeSuspenseChildren(vnode) {CODE
LOWElectronJS/src/js/vue.global.js4889 function exposePropsOnRenderContext(instance) {CODE
LOWElectronJS/src/js/vue.global.js4903 function exposeSetupStateOnRenderContext(instance) {CODE
LOWElectronJS/src/js/vue.global.js9799 function patchStopImmediatePropagation(e, value) {CODE
LOWElectronJS/src/js/vue.global.js11028 function injectCompilerOptionsCheck(app) {CODE
LOWElectronJS/src/js/vue.global.js11363 function createConditionalExpression(test, consequent, alternate, newline = true) {CODE
LOWElectronJS/src/js/vue.global.js11506 function advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {CODE
LOWElectronJS/src/js/vue.global.js12792 function getConstantTypeOfHelperCall(value, context) {CODE
LOWElectronJS/src/js/vue.global.js12807 function getGeneratedPropsConstantType(node, context) {CODE
LOWElectronJS/src/js/vue.global.js13108 function createStructuralDirectiveTransform(name, fn) {CODE
LOWElectronJS/src/js/vue.global.js13491 function genExpressionAsPropertyKey(node, context) {CODE
LOWElectronJS/src/js/vue.global.js13703 function validateBrowserExpression(node, context, asParams = false, asRawStatements = false) {CODE
LOWElectronJS/src/js/vue.global.js13899 function createCodegenNodeForBranch(branch, keyIndex, context) {CODE
LOWElectronJS/src/js/vue.global.js13913 function createChildrenCodegenNode(branch, keyIndex, context) {CODE
LOWElectronJS/src/js/vue.global.js14996 function stringifyDynamicPropNames(props) {CODE
LOWElectronJS/src/taskGrid/global.js130function detectOperatingSystemAndArch() {CODE
LOWElectronJS/src/taskGrid/vue.js2271 function extractPropsFromVNodeData (CODE
LOWElectronJS/src/taskGrid/vue.js3038 function createFunctionalComponent (CODE
LOWElectronJS/src/taskGrid/vue.js3079 function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {CODE
LOWElectronJS/src/taskGrid/vue.js3275 function createComponentInstanceForVnode (CODE
LOWElectronJS/src/taskGrid/vue.js5036 function resolveConstructorOptions (Ctor) {CODE
LOWElectronJS/src/taskGrid/vue.js6133 function removeAndInvokeRemoveHook (vnode, rm) {CODE
LOWElectronJS/src/taskGrid/vue.js7102 function getAndRemoveAttr (CODE
11 more matches not shown…
Unused Imports71 hits · 62 pts
SeverityFileLineSnippetContext
LOWExamples/Sample Tasks with Python/desc_crawl.py2CODE
LOWExamples/Sample Tasks with Python/desc_crawl.py3CODE
LOWExamples/Sample Tasks with Python/desc_crawl.py5CODE
LOWExamples/Sample Tasks with Python/desc_crawl.py7CODE
LOWExamples/Sample Tasks with Python/desc_crawl.py11CODE
LOWExamples/Sample Tasks with Python/desc_crawl.py14CODE
LOWExamples/Sample Tasks with Python/desc_crawl.py15CODE
LOWExamples/Sample Tasks with Python/service_invoke.py2CODE
LOWExamples/Sample Tasks with Python/author_crawl.py2CODE
LOWExamples/Sample Tasks with Python/author_crawl.py3CODE
LOWExamples/Sample Tasks with Python/author_crawl.py5CODE
LOWExamples/Sample Tasks with Python/author_crawl.py7CODE
LOWExamples/Sample Tasks with Python/author_crawl.py11CODE
LOWExamples/Sample Tasks with Python/author_crawl.py14CODE
LOWExamples/Sample Tasks with Python/author_crawl.py15CODE
LOWscripts/test_bundled_chrome.py3CODE
LOWscripts/smoke_python_dependencies.py3CODE
LOWscripts/smoke_python_dependencies.py111CODE
LOWExecuteStage/fl_beta.py6CODE
LOWExecuteStage/easyspider_executestage.py3CODE
LOWExecuteStage/easyspider_executestage.py18CODE
LOWExecuteStage/easyspider_executestage.py19CODE
LOWExecuteStage/easyspider_executestage.py33CODE
LOWExecuteStage/easyspider_executestage.py2682CODE
LOWExecuteStage/utils.py18CODE
LOWExecuteStage/utils.py22CODE
LOWExecuteStage/package_size.py1CODE
LOWExecuteStage/llm_beta.py3CODE
LOWExecuteStage/myChrome.py1CODE
LOWExecuteStage/myChrome.py2CODE
LOWExecuteStage/myChrome.py3CODE
LOWExecuteStage/myChrome.py5CODE
LOWExecuteStage/myChrome.py6CODE
LOWExecuteStage/myChrome.py9CODE
LOWExecuteStage/myChrome.py10CODE
LOWExecuteStage/myChrome.py12CODE
LOWExecuteStage/myChrome.py13CODE
LOWExecuteStage/easyspider_executestage_single.py9CODE
LOWExecuteStage/easyspider_executestage_single.py10CODE
LOWExecuteStage/easyspider_executestage_single.py13CODE
LOWExecuteStage/easyspider_executestage_single.py14CODE
LOWExecuteStage/easyspider_executestage_single.py15CODE
LOWExecuteStage/undetected_chromedriver_ES/__init__.py17CODE
LOWExecuteStage/undetected_chromedriver_ES/__init__.py35CODE
LOWExecuteStage/undetected_chromedriver_ES/webelement.py3CODE
LOW.temp_to_pub/compress.py2CODE
LOW.temp_to_pub/compress.py4CODE
LOW.temp_to_pub/compress.py7CODE
LOW.temp_to_pub/compress.py10CODE
LOW.temp_to_pub/compress.py11CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py3CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py18CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py19CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py33CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py2470CODE
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py18CODE
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py22CODE
LOW.temp_to_pub/EasySpider_windows_x64/Code/myChrome.py1CODE
LOW.temp_to_pub/EasySpider_windows_x64/Code/myChrome.py2CODE
LOW.temp_to_pub/EasySpider_windows_x64/Code/myChrome.py3CODE
11 more matches not shown…
Over-Commented Block66 hits · 58 pts
SeverityFileLineSnippetContext
LOWExtension/manifest_v3/src/background.ts1//此变量用于监听是否加载了新的页面(包括新窗口打开),如果是,增加变量值,用于传回后台。COMMENT
LOWExtension/manifest_v3/src/background.ts21// }COMMENT
LOWExtension/manifest_v3/src/background.ts41// let tmsg = request.msg;COMMENT
LOWExtension/manifest_v3/src/content-scripts/main.js161// window.addEventListener("beforeunload", function(event) {COMMENT
LOWExecuteStage/easyspider_executestage.py2001 # screenshot_stream = io.BytesIO(screenshot)COMMENT
LOWExecuteStage/utils.py141 return on_pressCOMMENT
LOWExecuteStage/utils.py161 press_time["is_pressed"] = FalseCOMMENT
LOWExecuteStage/utils.py441 with open(file_name, 'w', encoding='utf-8') as f:COMMENT
LOWExecuteStage/utils.py461 # try:COMMENT
LOWExecuteStage/utils.py481 # first = TrueCOMMENT
LOWExecuteStage/utils.py501 # cell = ""COMMENT
LOWExecuteStage/utils.py521 # if not first: # 如果不是第一行,需要转换数据类型COMMENT
LOWExecuteStage/myChrome.py41 # iframes = super().find_elements(By.CSS_SELECTOR, "iframe")COMMENT
LOWExecuteStage/myChrome.py101 self.iframe_env = TrueCOMMENT
LOWExecuteStage/myChrome.py121 # super().switch_to.default_content()COMMENT
LOWExecuteStage/undetected_chromedriver_ES/__init__.py661 # let objectToInspect = window,COMMENT
LOW.temp_to_pub/compress.py141 # os.remove(file_name)COMMENT
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py1901 # self.print_and_log("Failed to recognize Chinese, try to recognize English only")COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py141 return on_pressCOMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py161 press_time["is_pressed"] = FalseCOMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py401 # # 准备新数据COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py421 # if first:COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py441 # if num_rows > 5000:COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py461COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/utils.py481 # value = float(value)COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/myChrome.py41 # iframes = super().find_elements(By.CSS_SELECTOR, "iframe")COMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/myChrome.py101 self.iframe_env = TrueCOMMENT
LOW.temp_to_pub/EasySpider_windows_x64/Code/myChrome.py121 # super().switch_to.default_content()COMMENT
LOW…b/EasySpider_Linux_x64/Code/easyspider_executestage.py1901 # self.print_and_log("Failed to recognize Chinese, try to recognize English only")COMMENT
LOWElectronJS/server.js261 // console.log("excelUpload")COMMENT
LOWElectronJS/main.js121COMMENT
LOWElectronJS/main.js181let socket_backend = null;COMMENT
LOWElectronJS/EasySpider_zh/background.js1//此变量用于监听是否加载了新的页面(包括新窗口打开),如果是,增加变量值,用于传回后台。COMMENT
LOWElectronJS/EasySpider_zh/background.js21// nowTabIndex = tabList.indexOf(nowTabId);COMMENT
LOWElectronJS/EasySpider_zh/background.js41// tmsg.tabIndex = nowTabIndex; //赋值当前tab的idCOMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js881 // descendant combinators, which is not what we want.COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js1021COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js1161 // Support: IE 9 - 11+, Edge 12 - 18+COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js5641 // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js6421COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js6441 // Spec requires trimming whitespace for custom properties (gh-4926).COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js12921 callbacks.length = 0;COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js13661function resetSchedulerState() {COMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js14061 // transform component v-model data into props & eventsCOMMENT
LOWElectronJS/EasySpider_zh/content-scripts/main.js16481 // happens because browsers fire microtask ticks between event propagation.COMMENT
LOWElectronJS/EasySpider_en/background.js1//此变量用于监听是否加载了新的页面(包括新窗口打开),如果是,增加变量值,用于传回后台。COMMENT
LOWElectronJS/EasySpider_en/background.js21// nowTabIndex = tabList.indexOf(nowTabId);COMMENT
LOWElectronJS/EasySpider_en/background.js41// tmsg.tabIndex = nowTabIndex; //赋值当前tab的idCOMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js881 // descendant combinators, which is not what we want.COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js1021COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js1161 // Support: IE 9 - 11+, Edge 12 - 18+COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js5641 // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js6421COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js6441 // Spec requires trimming whitespace for custom properties (gh-4926).COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js12921 callbacks.length = 0;COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js13661function resetSchedulerState() {COMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js14061 // transform component v-model data into props & eventsCOMMENT
LOWElectronJS/EasySpider_en/content-scripts/main.js16481 // happens because browsers fire microtask ticks between event propagation.COMMENT
LOW…/selenium-webdriver-bidi-webExtension/extensionData.js1// Licensed to the Software Freedom Conservancy (SFC) under oneCOMMENT
LOW…S/selenium-webdriver-bidi-webExtension/webExtension.js1// Licensed to the Software Freedom Conservancy (SFC) under oneCOMMENT
6 more matches not shown…
Deep Nesting99 hits · 58 pts
SeverityFileLineSnippetContext
LOWExamples/Sample Tasks with Python/desc_crawl.py65CODE
LOWExamples/Sample Tasks with Python/service_invoke.py13CODE
LOWExecuteStage/easyspider_executestage.py110CODE
LOWExecuteStage/easyspider_executestage.py273CODE
LOWExecuteStage/easyspider_executestage.py412CODE
LOWExecuteStage/easyspider_executestage.py472CODE
LOWExecuteStage/easyspider_executestage.py566CODE
LOWExecuteStage/easyspider_executestage.py606CODE
LOWExecuteStage/easyspider_executestage.py726CODE
LOWExecuteStage/easyspider_executestage.py822CODE
LOWExecuteStage/easyspider_executestage.py887CODE
LOWExecuteStage/easyspider_executestage.py965CODE
LOWExecuteStage/easyspider_executestage.py1058CODE
LOWExecuteStage/easyspider_executestage.py1140CODE
LOWExecuteStage/easyspider_executestage.py1200CODE
LOWExecuteStage/easyspider_executestage.py1679CODE
LOWExecuteStage/easyspider_executestage.py1870CODE
LOWExecuteStage/easyspider_executestage.py2064CODE
LOWExecuteStage/utils.py63CODE
LOWExecuteStage/utils.py116CODE
LOWExecuteStage/utils.py182CODE
LOWExecuteStage/utils.py203CODE
LOWExecuteStage/utils.py307CODE
LOWExecuteStage/utils.py349CODE
LOWExecuteStage/utils.py409CODE
LOWExecuteStage/utils.py445CODE
LOWExecuteStage/utils.py117CODE
LOWExecuteStage/utils.py638CODE
LOWExecuteStage/utils.py694CODE
LOWExecuteStage/myChrome.py69CODE
LOWExecuteStage/myChrome.py142CODE
LOWExecuteStage/myChrome.py186CODE
LOWExecuteStage/myChrome.py225CODE
LOWExecuteStage/myChrome.py314CODE
LOWExecuteStage/easyspider_executestage_single.py106CODE
LOWExecuteStage/easyspider_executestage_single.py134CODE
LOWExecuteStage/easyspider_executestage_single.py203CODE
LOWExecuteStage/easyspider_executestage_single.py251CODE
LOWExecuteStage/easyspider_executestage_single.py298CODE
LOWExecuteStage/easyspider_executestage_single.py368CODE
LOWExecuteStage/easyspider_executestage_single.py740CODE
LOWExecuteStage/easyspider_executestage_single.py832CODE
LOWExecuteStage/undetected_chromedriver_ES/reactor.py66CODE
LOWExecuteStage/undetected_chromedriver_ES/__init__.py847CODE
LOWExecuteStage/undetected_chromedriver_ES/cdp.py15CODE
LOWExecuteStage/undetected_chromedriver_ES/patcher.py285CODE
LOWExecuteStage/undetected_chromedriver_ES/patcher.py383CODE
LOWExecuteStage/undetected_chromedriver_ES/devtool.py103CODE
LOWExecuteStage/undetected_chromedriver_ES/devtool.py110CODE
LOWExecuteStage/undetected_chromedriver_ES/devtool.py116CODE
LOWExecuteStage/undetected_chromedriver_ES/devtool.py131CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py76CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py236CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py375CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py435CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py515CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py555CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py675CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py771CODE
LOW…EasySpider_windows_x64/Code/easyspider_executestage.py836CODE
39 more matches not shown…
Cross-Language Confusion17 hits · 51 pts
SeverityFileLineSnippetContext
HIGH⚡ExecuteStage/easyspider_executestage.py1766 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iteraSTRING
HIGH⚡ExecuteStage/easyspider_executestage.py1770 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iterateNSTRING
HIGH⚡ExecuteStage/easyspider_executestage.py1785 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iteraSTRING
HIGHExecuteStage/easyspider_executestage.py1934 arr.push(content.childNodes[i].nodeValue);\STRING
HIGHExecuteStage/easyspider_executestage_single.py681 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iterateNext();} resulCODE
HIGHExecuteStage/easyspider_executestage_single.py773 arr.push(content.childNodes[i].nodeValue);\CODE
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py663 # while(objectToInspect !== null)COMMENT
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py678 # while(objectToInspect !== null)COMMENT
HIGHExecuteStage/undetected_chromedriver_ES/__init__.py637 const nativeToStringFunctionString = Error.toString().replace(/Error/g, 'toString')CODE
HIGH⚡…EasySpider_windows_x64/Code/easyspider_executestage.py1680 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iteraSTRING
HIGH⚡…EasySpider_windows_x64/Code/easyspider_executestage.py1684 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iterateNSTRING
HIGH⚡…EasySpider_windows_x64/Code/easyspider_executestage.py1699 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iteraSTRING
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py1844 arr.push(content.childNodes[i].nodeValue);\STRING
HIGH⚡…b/EasySpider_Linux_x64/Code/easyspider_executestage.py1680 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iteraSTRING
HIGH⚡…b/EasySpider_Linux_x64/Code/easyspider_executestage.py1684 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iterateNSTRING
HIGH⚡…b/EasySpider_Linux_x64/Code/easyspider_executestage.py1699 '`, document, null, XPathResult.ANY_TYPE, null);for(let i=0;i<arguments[0];i++){result.iteraSTRING
HIGH…b/EasySpider_Linux_x64/Code/easyspider_executestage.py1844 arr.push(content.childNodes[i].nodeValue);\STRING
Cross-File Repetition8 hits · 40 pts
SeverityFileLineSnippetContext
HIGHExecuteStage/easyspider_executestage.py0object.defineproperty(navigator, 'webdriver', { get: () => undefined })STRING
HIGH…EasySpider_windows_x64/Code/easyspider_executestage.py0object.defineproperty(navigator, 'webdriver', { get: () => undefined })STRING
HIGH…b/EasySpider_Linux_x64/Code/easyspider_executestage.py0object.defineproperty(navigator, 'webdriver', { get: () => undefined })STRING
HIGHExecuteStage/myCode.py0这是一个示例代码文件,可以直接在这里写python代码,然后在程序中的exec操作中调用。如果此文件名称为mycode.py,请将此文件放置在easyspider程序目录下(和data/文件夹同级),那么在程序中的exec操作中可以直接写oSTRING
HIGH.temp_to_pub/EasySpider_windows_x64/myCode.py0这是一个示例代码文件,可以直接在这里写python代码,然后在程序中的exec操作中调用。如果此文件名称为mycode.py,请将此文件放置在easyspider程序目录下(和data/文件夹同级),那么在程序中的exec操作中可以直接写oSTRING
HIGH.temp_to_pub/EasySpider_MacOS/myCode.py0这是一个示例代码文件,可以直接在这里写python代码,然后在程序中的exec操作中调用。如果此文件名称为mycode.py,请将此文件放置在easyspider程序目录下(和data/文件夹同级),那么在程序中的exec操作中可以直接写oSTRING
HIGH.temp_to_pub/EasySpider_Linux_x64/myCode.py0这是一个示例代码文件,可以直接在这里写python代码,然后在程序中的exec操作中调用。如果此文件名称为mycode.py,请将此文件放置在easyspider程序目录下(和data/文件夹同级),那么在程序中的exec操作中可以直接写oSTRING
HIGH.temp_to_pub/EasySpider_windows_x32/myCode.py0这是一个示例代码文件,可以直接在这里写python代码,然后在程序中的exec操作中调用。如果此文件名称为mycode.py,请将此文件放置在easyspider程序目录下(和data/文件夹同级),那么在程序中的exec操作中可以直接写oSTRING
AI Slop Vocabulary11 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUM.temp_to_pub/EasySpider_windows_x64/tasks/30.json1{"id": 30, "name": "WIKI", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.org/wikCODE
MEDIUM.temp_to_pub/EasySpider_windows_x64/tasks/31.json1{"id": 31, "name": "WIKI WWW", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.orgCODE
MEDIUM.temp_to_pub/EasySpider_MacOS/Sample Tasks/30.json1{"id": 30, "name": "WIKI", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.org/wikCODE
MEDIUM.temp_to_pub/EasySpider_MacOS/Sample Tasks/31.json1{"id": 31, "name": "WIKI WWW", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.orgCODE
MEDIUM.temp_to_pub/EasySpider_Linux_x64/tasks/30.json1{"id": 30, "name": "WIKI", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.org/wikCODE
MEDIUM.temp_to_pub/EasySpider_Linux_x64/tasks/31.json1{"id": 31, "name": "WIKI WWW", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.orgCODE
MEDIUM.temp_to_pub/EasySpider_windows_x32/tasks/30.json1{"id": 30, "name": "WIKI", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.org/wikCODE
MEDIUM.temp_to_pub/EasySpider_windows_x32/tasks/31.json1{"id": 31, "name": "WIKI WWW", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.orgCODE
MEDIUMElectronJS/tasks/30.json1{"id": 30, "name": "WIKI", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.org/wikCODE
MEDIUMElectronJS/tasks/31.json1{"id": 31, "name": "WIKI WWW", "url": "https://en.wikipedia.org/wiki/World_Wide_Web", "links": "https://en.wikipedia.orgCODE
LOWElectronJS/src/js/vue.global.js6784 // #1689 For inside suspense + suspense resolved case, just call itCOMMENT
Slop Phrases6 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMExecuteStage/easyspider_executestage.py2678 # print("Passing the Cloudflare verification mode is sometimes unstable. If the verification fails, you needSTRING
MEDIUM…EasySpider_windows_x64/Code/easyspider_executestage.py2467 # print("Passing the Cloudflare verification mode is sometimes unstable. If the verification fails, you needSTRING
MEDIUM…b/EasySpider_Linux_x64/Code/easyspider_executestage.py2467 # print("Passing the Cloudflare verification mode is sometimes unstable. If the verification fails, you needSTRING
LOWElectronJS/update_chrome.py270 print("Done and don't forget to generate executestage EXEcutable program!")CODE
LOWElectronJS/src/js/vue.global.js8338 // #2078 make sure to merge refs during the clone instead of overwriting itCOMMENT
MEDIUMElectronJS/src/taskGrid/FlowChart.html428import emotlib # Now you can use emotlib libraryCODE
Overly Generic Function Names6 hits · 6 pts
SeverityFileLineSnippetContext
LOWElectronJS/XPathHelper_MV3/background.js27function handleRequest(request, sender, cb) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js4132function getData( data ) {CODE
LOWElectronJS/EasySpider_zh/content-scripts/main.js14668function getData(data, vm) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js4132function getData( data ) {CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js14668function getData(data, vm) {CODE
LOWElectronJS/src/taskGrid/vue.js4741 function getData (data, vm) {CODE
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippetContext
LOWElectronJS/EasySpider_zh/content-scripts/main.js16393 key === 'placeholder' &&CODE
LOWElectronJS/EasySpider_en/content-scripts/main.js16393 key === 'placeholder' &&CODE
LOWElectronJS/src/taskGrid/vue.js6768 key === 'placeholder' && value !== '' && !el.__iephCODE
LOWElectronJS/src/taskGrid/element-ui/index.js1!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof defCODE
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOWExecuteStage/undetected_chromedriver_ES/reactor.py10logger = logging.getLogger(__name__)CODE
LOWExecuteStage/undetected_chromedriver_ES/patcher.py21logger = logging.getLogger(__name__)CODE
Structural Annotation Overuse3 hits · 2 pts
SeverityFileLineSnippetContext
LOW…ve Captcha in EasySpider with CapSolver Integration.md394### Step 1: Design Your Task in EasySpiderSTRING
LOW…ve Captcha in EasySpider with CapSolver Integration.md406### Step 2: Create the CapSolver Helper ScriptSTRING
LOW…ve Captcha in EasySpider with CapSolver Integration.md503### Step 3: Configure EasySpider to Use the ScriptSTRING
AI Structural Patterns1 hit · 0 pts
SeverityFileLineSnippetContext
LOWExecuteStage/undetected_chromedriver_ES/__init__.py104CODE