跳转到主要内容

ScraperWiki 库的本地版本

项目描述

Build Status

这是一个用于抓取网页和保存数据的Python库。这是在ScraperWiki平台上保存数据的最容易的方式,也可以在本地或自己的服务器上使用。

安装

pip install scraperwiki

抓取

scraperwiki.scrape(url[, params][,user_agent])

返回从给定url下载的字符串。

params如果设置,则作为POST发送。

user_agent如果提供,则设置用户代理字符串。

保存数据

用于保存和查询SQL数据库的辅助函数。根据您保存的数据自动更新模式。

目前仅支持SQLite。它将创建一个本地的SQLite数据库。它基于[SQLAlchemy](https://pypi.python.org/pypi/SQLAlchemy)。您应该期望它将在以后日期支持其他SQL数据库。

scraperwiki.sql.save(unique_keys, data[, table_name="swdata"])

将数据记录保存到给定的table_name表中的数据存储。

data是一个具有字段名作为键的字典对象;unique_keys是data.keys()的子集,它确定何时覆盖记录。对于大量记录,data可以是一个字典列表。

scraperwiki.sql.save 有权在 ScraperWiki API 下缓冲任意数量的行,直到下一次读取、遇到异常或程序退出。会尽力及时进行周期性刷新。如果在内存不足的情况下由于高内存使用发生硬崩溃、断电或 SIGKILL,可能会丢失记录。可以通过 scraperwiki.sql.flush() 手动刷新缓冲区。

scraperwiki.sql.execute(sql[, vars])

执行任何任意 SQL 命令。例如 CREATE、DELETE、INSERT 或 DROP。

vars 是可选的参数列表,当 SQL 命令包含 ‘?’ 时插入。例如

scraperwiki.sql.execute("INSERT INTO swdata VALUES (?,?,?)", [a,b,c])

‘?’ 习惯类似于 Python 的 DB API 2.0 中的“paramstyle qmark” (Python 的 DB API 2.0) (但请注意,数据存储的 API 与 Python 的 DB API 完全不同)。特别是‘?’本身不需要引号,通常只能用于字面值出现的地方。(请注意,您不能替换表名或列名。)

scraperwiki.sql.select(sqlfrag[, vars])

在数据存储上执行选择命令。例如

scraperwiki.sql.select("* FROM swdata LIMIT 10")

返回被选择的所有字典列表。

vars 是可选的参数列表,当选择命令包含‘?’时插入。这与上面 .execute 命令中的功能类似。

scraperwiki.sql.commit()

在一系列执行命令后提交到文件。(sql.save 在每次操作后自动提交)。

scraperwiki.sql.show_tables([dbname])

返回当前数据库中表和其模式数组的列表。

scraperwiki.sql.table_info(name)

返回表中每个元素的属性数组。

scraperwiki.sql.save_var(key, value)

将任意单个值保存到名为 swvariables 的表中。目的是存储抓取器状态,以便抓取器可以在中断后继续运行。

scraperwiki.sql.get_var(key[, default])

检索由 save_var 保存的单个值。仅适用于字符串、浮点或整数类型。对于其他任何类型,请使用 pickle 库 将其转换为字符串。

杂项

scraperwiki.status(type, message=None)

如果运行在 ScraperWiki 平台上(新平台,不是 Classic),则更新数据集的可见状态。如果不在此平台上,则不执行任何操作。params 可以是‘ok’或‘error’。如果没有给出 message,它将显示自更新以来的时间。有关详细信息,请参阅文档中的 数据集状态 API

scraperwiki.pdftoxml(pdfdata)

将包含 PDF 文件的字节字符串转换为包含每个文本字符串坐标和字体的 XML 文件(有关详细信息,请参阅 pdftohtml 文档)。

环境变量

SCRAPERWIKI_DATABASE_NAME

默认值: scraperwiki.sqlite - 数据库名称

SCRAPERWIKI_DATABASE_TIMEOUT

默认值: 300 - 数据库等待锁的秒数

项目详情


下载文件

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

源分布

scraperwiki-0.5.1.tar.gz (7.7 kB 查看哈希值)

上传时间 来源

由以下支持