舒尔云资源

schul-cloud-url-crawler的Python项目详细描述


Build StatusPython Package Index

此爬网程序从URL获取资源并将其发布到服务器。

目的

此爬虫程序的目的是:

  • 我们可以向api提供测试数据。
  • 它可以抓取不活动且无法发布的资源。
  • 其他爬网服务可以使用此爬网程序上载其转换。
  • 它具有完整的爬虫逻辑,但不转换为其他格式。
    • 也许我们可以从这个案例中为爬虫程序创建推荐或库。

要求

爬虫程序的工作方式如下:

  • 提供网址
    • 作为命令行参数
    • 作为指向每行一个url的文件的链接
  • 提供ressources
    • 作为文件中的一个资源
    • 作为资源列表

必须调用爬网程序才能爬网。

示例

本例从url获取一个ressource并将其发布到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

认证

您可以这样指定authentication

  • --basic=username:password用于基本身份验证
  • --apikey=apikey用于API密钥身份验证

进一步要求

  • 爬虫程序不会发布两次资源。 这可以通过
      实现。
    • 在本地缓存资源,查看它们是否已更改
      • 比较资源
      • 比较时间戳
    • 如果在发布新的资源后更新了资源,则从数据库中删除这些资源。

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java:如何使用另一个类中的对象   如何在Java中迭代旁遮普语(阿拉伯语)?   类Java嵌套ArrayList返回对象   java正则表达式以匹配“:”之后包含的字符串   java为什么main()很好地显示“Lukaku”并包含_names()返回null?   java嵌套循环,无法理解如何编写此代码   java使用maven动物嗅探器插件检查自己的API   java上传的文件创建保存以备将来在GWT服务器端使用   java转换为Dalvik格式失败65536限制   Java后端的javascript最佳RIA工具   amazon web服务如何将tar文件从amazonS3 bucket提取到Java中的另一个s3   java如何在hibernate搜索中实现对int值的搜索?   使用Maven初始化引导层JavaFX时发生java错误   java Google登录API例外:10:   java Glassfish 3.1.2加载本机库(.dll)   java在join操作中使用TumblingWindow,但没有将任何元素传输到my JoinFunction   IBatis+Java:检索HashMap   多线程java与scala在单独线程上读取文件