ciur是一个基于dsl的数据抽取层。
ciur的Python项目详细描述
Ciur is a scrapper layer in code development
Ciur is a lib because it has less black magic than a framework
它将所有与刮板相关的代码导出到单独的层中。
如果你被 Spaghetti code, php中的sql和html中的内联css 然后,爬虫程序中的xpath/css代码也会让您恼火。
ciur给人的感觉是Lasagna code 一般通过强制封装来报废层。
有关详细信息,请访问 documentation。
Nutshell
ciur使用自己的dsl,下面是一个example.org.ciur查询的小例子:
root `/html/body` +1name `.//h1/text()` +1paragraph `.//p/text()` +1
此命令
$ ciur -p http://example.org -r https://bitbucket.org/ada/python-ciur/raw/HEAD/docs/docker/example.org.ciur
将生成一个json
{"root":{"name":"Example Domain","paragraph":"This domain is established to be used for illustrative examples in documents. You may use this domain in examples without prior coordination or asking for permission."}}
Installation
建议的安装方法是通过 Python Virtual environment。
通过Docker安装
$ docker run -it python:3.7 bash root@e4d327153f2f:/# pip install ciur root@e4d327153f2f:/# ciur --help root@e4d327153f2f:/# ciur --help usage: ciur [-h] -p PARSE -r RULE [-w][-v] *Ciur is a scrapper layer based on DSL for extracting data* *Ciur is a lib because it has less black magic than a framework* If you are annoyed by `Spaghetti code` than we can taste `Lasagna code` with help of Ciur https://bitbucket.org/ada/python-ciur optional arguments: -h, --help show this help message and exit -p PARSE, --parse PARSE url or local file path required document for html, xml, pdf. (f.e. http://example.org or /tmp/example.org.html) -r RULE, --rule RULE url or local file path file with parsing dsl rule (f.e. /tmp/example.org.ciur or http:/host/example.org.ciur) -w, --ignore_warn suppress python warning warnings and ciur warnings hints -v, --version show program's version number and exit
Contribution
cuir的代码已于2012年被构思出来, 将继续发展。
所有贡献都是受欢迎的,应该通过Bitbucket完成(拉请求,问题)。
另一种选择是异常(如果BitBucket不可用,则可能) 可通过电子邮件ciur[mail symbol].asta-s.eu完成