一个高级web抓取框架

okami的Python项目详细描述


奥卡米

okami是一个完全为python 3.6+构建的高级web抓取框架,它使用标准库asyncio模块提供的异步模型,以aiohttp作为网络层和lxml用于分析数据。

体系结构是完全模块化的,主要组件可以交换出来,并用自定义实现替换。

功能

  • 完成整个网站的页面处理
  • 完全刮除模式或增量模式仅刮除未浏览的页面
  • 通过http api进行即时、按需或实时页面处理
  • 通过命令行进行单页处理
  • 大量的管道、中间产品和信号

蜘蛛是非常简单的实现。看一个例子here

快速启动

  • 安装okami

    • pip install okami
  • 运行示例Web服务器

    • OKAMI_SETTINGS=okami.cfg.example okami example server

打开localhost:8000并浏览一下。相当了不起的网站。我们将运行我们的例子蜘蛛对这个网站很快和处理几个项目。

  • 运行示例spider

    • OKAMI_SETTINGS=okami.cfg.example okami example spider

我们的示例spider已经启动,您可以看到它正在处理页面。看一个蜘蛛实现的例子here

文档

阅读文档here的其余部分。

许可证

Okami根据三条BSD许可证获得许可。可以找到完整的许可文本here

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

推荐PyPI第三方库


热门话题
添加组件后,java JTable为空   java将json发送到php并插入mysql,但返回null   java Spring引导JNDI CommonJ资源   从不同PC创建和合并后的Java servlet问题   java如何在使用findelements时从xpath获取文本   java使用spring boot使用gmail smtp发送电子邮件   java在不使用pojo、bean或getter和setter的情况下获取Json标题的Json数组   Java中的OpenFile对话框将null作为响应   JavaBuilder模式。扩展接口   java中无需替换的数据结构选取   java如何评价Encog中的预测神经网络   java如何在安卓中使用实际的HttpURLConnection进行单元测试?   java使用XML配置禁用WebSocket中的CSRF保护   java如何通过hibernate从多表查询中获取数据?   mysql如何在java中获取更新的行Id   java AEM/CQ组件单一组件/有限组件   java FFmpeg Javacv延迟问题   显示整数数组的java不起作用