scraperwiki库的本地版本

scraperwiki的Python项目详细描述


Build Status

这是一个用于抓取网页和保存数据的python库。 这是在scraperwiki平台上保存数据的最简单方法,而且 也可以在本地或您自己的服务器上使用。

安装

pip install scraperwiki

刮削

scraperwiki.scrape(url[,params][,用户代理])

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

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

user_agent设置用户代理字符串(如果提供)。

保存数据

用于保存和查询SQL数据库的帮助函数。更新 根据您保存的数据自动生成架构。

目前只支持sqlite。它将生成一个本地sqlite数据库。 它基于[sqlalchemy](https://pypi.python.org/pypi/SQLAlchemy)。 您应该期望它在以后支持其他sql数据库。

scraperwiki.sql.save(唯一键,data[,table_name=“swdata”])

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

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

scraperwiki.sql.save有权缓冲任意数量的 行直到下一次通过scraperwiki api读取时,出现异常, 或直到进程退出。努力做一个及时的定期冲洗。 如果进程遇到严重崩溃、断电,则可能会丢失记录 或者sigkill,因为在内存不足的情况下内存使用率很高。这个 可以使用scraperwiki.sql.flush()手动刷新缓冲区。

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

执行任意sql命令。例如创建、删除、插入或删除。

vars是可选的参数列表,当sql命令包含'?例如:

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

那个'?'约定类似于Python’s DB API 2.0中的“paramstyle qmark”(但请注意,数据存储的api与python的dbapi完全不同)。尤其是'?'本身不需要引号,通常只能在出现文字的地方使用。(请注意,不能替换表或列名等中的名称。)

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

在数据存储上执行select命令。例如:

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

返回已选择的dict的列表。

vars是可选的参数列表,当select命令包含'?这就像上面的.execute命令中的特性。

scraperwiki.sql.commit()
在一系列执行命令之后提交到文件。(每次操作后保存自动提交)。
scraperwiki.sql.show_tables([dbname])
返回当前数据库中表及其架构的数组。
scraperwiki.sql.table_info(name)
返回表中每个元素的属性数组。
scraperwiki.sql.save_var(键,值)
将任意单个值保存到名为swvariables的表中。用于存储刮刀状态,以便刮刀在中断后可以继续。
scraperwiki.sql.get_var(key[,default])
检索由save_var保存的单个值。仅适用于字符串、浮点或int类型。对于其他内容,请使用pickle library将其转换为字符串。

其他

scraperwiki.status(type,message=none)
如果在scraperwiki平台(新平台,而不是经典平台)上运行,则更新数据集的可见状态。如果不在平台上,什么也不做。params可以是“确定”或“错误”。如果没有给出message,它将显示自更新以来的时间。有关详细信息,请参见文档中的dataset status API
scraperwiki.pdftoxml(pdfdata)
将包含pdf文件的字节字符串转换为包含每个文本字符串的坐标和字体的xml文件(有关详细信息,请参见the pdftohtml documentation)。

环境变量

scraperwiki\u数据库名称
默认值:scraperwiki.sqlite-数据库的名称
scraperwiki\u数据库超时
默认值:300-数据库等待锁的秒数

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

推荐PyPI第三方库


热门话题
JavaEclipseMars没有保存首选项   java梯度同步失败:原因:启动失败:   java如何从嵌套的JSON获取数据?   java如何判断可观察对象中的任何对象满足一个条件?   java将字符串转换为保持相同值的byte[]数组   java有没有办法绕过AuditingEntityListener为测试设置数据?   从/usr/share/java中解析linux JAR依赖关系   安卓 My java函数抛出nullpointerexception?   java Gradle使用正确版本的依赖项   JBoss和Java6中带注释的WebService中的web服务ClassCastException   java如何修复codename one中的简单逻辑错误?   java如何迭代矩阵的索引?   java如何在JPanel不可见时将其保存为图像?   java HashMap如何在Kotlin中实现MutableMap接口?   javascript如何在单击后加载特定片段?   EclipseJava为纳什均衡获取所有玩家/策略组合   JavaSpring:Web服务REST在JSON上产生双反斜杠   java为什么ServletContext#getRealPath(“/”)返回相对路径?   java当我的游戏应该重新启动时,我应该如何处理重置SurfaceView和线程?