ScraperWiki 库的本地版本
项目描述
这是一个用于抓取网页和保存数据的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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2ad4c5500c436afb0de13aae7ce6c553b9933029aad06e2bf7497fa728d21b98 |
|
MD5 | 81f64b30b4535d0f8f40c1cd53e0fd02 |
|
BLAKE2b-256 | 3084d874847baad89f03e6984fcd87505a37bf924b66519d1e07bf76e2369af0 |