一个高级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我的应用程序崩溃,试图添加菜单   java如何创建TBase类实例   如何在java小程序中使用JMF功能?   数据结构Java中是否有用于双循环链表的内置接口?   java在使用JAXB读取XML文件时如何使用继承   在Java中获取和存储子进程的输出   从Java执行Windows命令   HQL中带日期的java限制   安卓如何使用GSON将单个JSON字段映射到多个JAVA字段?   std:random shuffle()和Collections之间的java差异。洗牌   Java正则表达式更高效的动态正则表达式   来自JSON的java POJO表示   active directory无法在Java中更改AD服务器中的密码   DataOutputStream出现java错误   scala如何指定JVM最大堆大小“Xmx”,以便在SBT中运行具有“run”操作的应用程序?   添加了`<f:actionListener>`之后,java`ViewScoped` bean会被重新创建吗?   python找不到满足java要求的版本(来自版本:),找不到与java匹配的发行版   java为什么刷新jdbc swing表中的按钮后数据会多次出现?   java在编程语言(尤其是dart)中,死代码是什么意思?   java为什么我必须在JDBC中使用回滚?