跳转到主要内容

Shul-Cloud资源爬虫

项目描述

Build Status Python Package Index

此爬虫从URL抓取资源并将它们发布到服务器。

目的

此爬虫的目的是

  • 我们可以向API提供测试数据。

  • 它可以爬取非活跃且无法发布的资源。

  • 其他爬虫服务可以使用此爬虫上传它们的转换。

  • 它具有完整的爬虫逻辑,但不转换为其他格式。

    • 也许我们可以从这个案例中创建推荐或爬虫库。

需求

爬虫应按以下方式工作

  • 提供URL

    • 作为命令行参数

    • 作为包含每行一个URL的文件的链接

  • 提供资源

    • 作为文件中的一个资源

    • 作为资源列表

必须调用爬虫以进行爬取。

示例

此示例从URL获取资源并将其发布到API。

python3 -m ressource_url_crawler http://localhost:8080 \
        https://raw.githubusercontent.com/schul-cloud/ressources-api-v1/master/schemas/ressource/examples/valid/example-website.json

认证

您可以指定认证如下

  • --basic=username:password 用于基本认证

  • --apikey=apikey 用于API密钥认证

其他需求

  • 爬虫不会重复发布资源。 这可以通过以下方式实现

    • 在本地缓存资源,以查看它们是否已更改

      • 比较资源

      • 比较时间戳

    • 在发布新资源后从数据库中删除已更新的资源。

这可能需要为爬虫提供某种形式的状态。状态可以添加到资源的X-Ressources-Url-Crawler-Source字段中。这允许本地缓存并需要从数据库中获取对象。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

schul_cloud_url_crawler-1.0.17.tar.gz (14.2 kB 查看哈希值)

上传时间 源代码

构建分发

schul_cloud_url_crawler-1.0.17-py3-none-any.whl (20.2 kB 查看哈希值)

上传时间 Python 3