舒尔云资源
schul-cloud-url-crawler的Python项目详细描述
此爬网程序从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
进一步要求
- 爬虫程序不会发布两次资源。
这可以通过
- 实现。
- 在本地缓存资源,查看它们是否已更改
- 比较资源
- 比较时间戳
- 如果在发布新的资源后更新了资源,则从数据库中删除这些资源。
- 在本地缓存资源,查看它们是否已更改
这可能需要爬虫程序的某种状态。 状态可以添加到X-Ressources-Url-Crawler-Source字段中的资源中。 这允许本地缓存,并要求从数据库中获取对象。