{"spdxVersion":"SPDX-2.3","dataLicense":"CC0-1.0","SPDXID":"SPDXRef-DOCUMENT","name":"com.github.hack4code/spider","documentNamespace":"https://spdx.org/spdxdocs/protobom/1b6208e0-5d98-4b67-849b-fb1a67663453","comment":"Exact versions could not be resolved for some packages. For more information: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#dependencies-included.","creationInfo":{"creators":["Tool: protobom-v0.0.0-20260130170711-0b8e67cacb3b+dirty","Tool: GitHub.com-Dependency-Graph"],"created":"2026-02-12T23:36:11Z"},"packages":[{"name":"pyopenssl","SPDXID":"SPDXRef-pypi-pyopenssl-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pyopenssl"}]},{"name":"grpcio","SPDXID":"SPDXRef-pypi-grpcio-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/grpcio"}]},{"name":"grpcio-tools","SPDXID":"SPDXRef-pypi-grpcio-tools-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/grpcio-tools"}]},{"name":"scrapy","SPDXID":"SPDXRef-pypi-scrapy-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/scrapy"}]},{"name":"lxml-html-clean","SPDXID":"SPDXRef-pypi-lxml-html-clean-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/lxml-html-clean"}]},{"name":"requests","SPDXID":"SPDXRef-pypi-requests-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/requests"}]},{"name":"pymongo","SPDXID":"SPDXRef-pypi-pymongo-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pymongo"}]},{"name":"protobuf","SPDXID":"SPDXRef-pypi-protobuf-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/protobuf"}]},{"name":"python-dateutil","SPDXID":"SPDXRef-pypi-python-dateutil-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/python-dateutil"}]},{"name":"service-identity","SPDXID":"SPDXRef-pypi-service-identity-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/service-identity"}]},{"name":"pillow","SPDXID":"SPDXRef-pypi-pillow-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/pillow"}]},{"name":"flask","SPDXID":"SPDXRef-pypi-flask-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask"}]},{"name":"marshmallow","SPDXID":"SPDXRef-pypi-marshmallow-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/marshmallow"}]},{"name":"flask-restful","SPDXID":"SPDXRef-pypi-flask-restful-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/flask-restful"}]},{"name":"uwsgi","SPDXID":"SPDXRef-pypi-uwsgi-75c946","downloadLocation":"NOASSERTION","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:pypi/uwsgi"}]},{"name":"com.github.hack4code/spider","SPDXID":"SPDXRef-github-hack4code-spider-main-ef037b","versionInfo":"main","downloadLocation":"git+https://github.com/hack4code/spider","filesAnalyzed":false,"externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:github/hack4code/spider@main"}]}],"relationships":[{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-grpcio-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-grpcio-tools-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-pymongo-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-pillow-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-lxml-html-clean-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-protobuf-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-python-dateutil-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-service-identity-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-flask-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-uwsgi-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-pyopenssl-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-scrapy-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-requests-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-marshmallow-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-github-hack4code-spider-main-ef037b","relatedSpdxElement":"SPDXRef-pypi-flask-restful-75c946","relationshipType":"DEPENDS_ON"},{"spdxElementId":"SPDXRef-DOCUMENT","relatedSpdxElement":"SPDXRef-github-hack4code-spider-main-ef037b","relationshipType":"DESCRIBES"}]}