cli中的微型webcrawler
crawtext的Python项目详细描述
![http://www.cortext.net](http://www.cortext.net/img/siteon0.png)
=====
crawtext是cortext实验室的一个项目。它独立于**cortext manager**平台,但需要与之交互。
获取免费帐户并通过注册
发现可用于自己研究的工具![cortext](http://manager.cortext.net/)
**crawtext**是命令行中的一个小型爬虫程序,允许您调查和收集与特定关键字匹配的Web资源。对于围绕某个特定主题存档Web很有用,结果还可以与Cortext Manager一起用于探索特定主题上的网站之间的关系。
about
--
Crawtext是一个小爬虫,它可以逐页收集相关文章几个关键字
爬虫程序需要:
*一个**查询**来选择相关页面
和
**起始URL**来收集数据
给定一个URL列表
1。机器人将收集每个url
2的文章。它将搜索从文章中提取的文本中的关键字。
=>;如果页面中存在关键字,则存储页面内容和
3。页面内的链接将添加到下一个要处理的列表中
installation
----
要安装crawtext,请从repo中克隆它:
$git clone git@github.com:cortext/crawtext.git
$cd crawtext
$python setup.py install
`````
然后,您可以使用pip自动安装所有依赖项
(所有依赖项都可以通过pip获得)
`````
$pip install-r dependencies.txt
````
您*必须*安装MongoDB:
才能安装用于Debian分发的插件从添加到/etc/sources的分发版中安装。list
```
$deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
$sudo apt get install mongodb-10gen
````
*对于OSX分发版,请使用brew安装:
````
$brew install mongodb
```
====
此界面提供了一整套设置项目的选项。
如果需要与shell命令交互的帮助,只需键入即可查看e选项:
```
python crawtext.py--help
```
/>——
*新建项目:
````
python crawtext.py农药
````
*添加查询:
``````
python crawtext.py农药-q"农药和滴滴涕"
``
(是否支持查询*?运算符)
*使用搜索引擎选项添加新种子:
`````
python crawtext.py discriptions-k set"your api key"
````
[必应API密钥](https://datamarket.azure.com/dataset/bing/search)
更多添加URL的选项请参见爬网高级参数
*启动爬网:
``````
python crawtext.py discriptions start
````
爬网限制为20000个结果
*请参见ho它正在运行:
````
python crawetx.py农药报告
`````
*导出结果:
````````
结果和报告存储在/discriptions/
advanced usage
===
项目是按其名称定义的,结果存储在具有此给定名称的mongo数据库中。
一组作业:
例如:
*project"discriptions"由爬网、报表和导出组成种子t
-**存档**:
>在给定url
**和3个可选作业的情况下对整个网站进行爬网,作为管理主要作业的工具:**
-**导出**:
>以json/csv格式导出项目的结果、源和日志。数据集存储在项目的result/name_中
-**报告**:
报表存储在项目的报表/名称中。删除项目时,将自动执行导出操作。
/>*咨询您的项目:
```
crawtext.py vous@cortext.net
`````
*获取报告:
``````
````
`````
*获取导出:
```````
````>crawtext.py导出农药
```
*删除一个projet:
````
crawtext.py删除杀虫剂
````
*运行项目:
````````
`````
*停止当前项目的执行:
``````
```````
````
*repeat t项目:
```
crawtext.py杀虫剂-r(年月周日)
```
*定义项目用户:
````
```
crawtext杀虫剂-u vous@cortext.net
```
==
活动:
-一个**查询**
-一个或多个**种子**(启动爬网的URL)
添加种子有多种方法:
-手动(添加),
-为下一次运行配置文件或密钥(设置),
-收集种子并立即将其添加到源(文件或密钥)(附加)
*查询
----
定义查询:(查询是否支持*?操作员)
````
crawtext杀虫剂杀虫剂-q"杀虫剂?和ddt"```
*来源
----
*从文件定义来源:
`````
crawtext.py杀虫剂-s set sources.txt```
*从文件添加来源:
`````
crawtext.py杀虫剂-s append sources.txt```
*添加来源从url:
```
crawtext.py农药-s添加http://www.latribune.fr````
*定义来自bing搜索结果的源:
````
````
crawtext.py农药-k集12237675647`````
*添加来自bing搜索结果的源:
```
xt.py农药-k附加12237675647```
*根据先前的结果扩展源集:
`````
crawtext.py农药-s扩展`````
*删除种子:
````
````
crawtext.py农药-s删除http://www.latribune.fr````
*删除作业的每个种子:
```
crawtext.py discriptions-s delete```
存档参数(尚未实现):
----
存档作业需要URL,您还可以指定格式提取(可选)
*咨询或创建新的存档项目t:
````
crawtext.py www.lemonde.fr````
*为wiki创建存档:
`````
````
crawtext.py archive fr.wikipedia.org-f wiki```
results
===
结果存储在由项目名称调用的mongo数据库中
t使用导出选项的结果:
```
python crawtext.py农药导出```
集合
数据集的完整结构可以在
-源代码示例.json
-结果示例.json
-日志示例.json
错误报告
----
*1 outlinks empty[done]
*2 expand mode error[done]
features
----
*定义递归深度
后台作业
*执行后发送邮件
*构建web界面
*激活存档模式以爬网整个网站
*yaml集成
源
----
您可以看到代码![这里](https://github.com/c24b/crawtextv2)
-特别感谢Xavier Grangier和他的模块![python goose](https://github.com/grangier/python-goose)分叉用于自动文章检测。
----
*Mongo数据库:
>有时如果通过强制关闭程序,则可能会出现连接到数据库的错误,例如:
````
无法连接到服务器127.0.0.1:在src/mongo/shell/mongo.js:145````
>修复的方法是移除mongod的锁
`````
````
>
````````````
```````````
>
````````````````````/br/>
`````````````
sudo mongod——repaiR’
crawtext是cortext实验室的一个项目。它独立于**cortext manager**平台,但需要与之交互。
获取免费帐户并通过注册
发现可用于自己研究的工具![cortext](http://manager.cortext.net/)
**crawtext**是命令行中的一个小型爬虫程序,允许您调查和收集与特定关键字匹配的Web资源。对于围绕某个特定主题存档Web很有用,结果还可以与Cortext Manager一起用于探索特定主题上的网站之间的关系。
about
--
Crawtext是一个小爬虫,它可以逐页收集相关文章几个关键字
爬虫程序需要:
*一个**查询**来选择相关页面
和
**起始URL**来收集数据
给定一个URL列表
1。机器人将收集每个url
2的文章。它将搜索从文章中提取的文本中的关键字。
=>;如果页面中存在关键字,则存储页面内容和
3。页面内的链接将添加到下一个要处理的列表中
installation
----
要安装crawtext,请从repo中克隆它:
$git clone git@github.com:cortext/crawtext.git
$cd crawtext
$python setup.py install
`````
然后,您可以使用pip自动安装所有依赖项
(所有依赖项都可以通过pip获得)
`````
$pip install-r dependencies.txt
````
您*必须*安装MongoDB:
才能安装用于Debian分发的插件从添加到/etc/sources的分发版中安装。list
```
$deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
$sudo apt get install mongodb-10gen
````
*对于OSX分发版,请使用brew安装:
````
$brew install mongodb
```
====
如果需要与shell命令交互的帮助,只需键入即可查看e选项:
```
python crawtext.py--help
```
/>——
*新建项目:
````
python crawtext.py农药
````
*添加查询:
``````
python crawtext.py农药-q"农药和滴滴涕"
``
(是否支持查询*?运算符)
*使用搜索引擎选项添加新种子:
`````
python crawtext.py discriptions-k set"your api key"
````
[必应API密钥](https://datamarket.azure.com/dataset/bing/search)
更多添加URL的选项请参见爬网高级参数
*启动爬网:
``````
python crawtext.py discriptions start
````
爬网限制为20000个结果
*请参见ho它正在运行:
````
python crawetx.py农药报告
`````
*导出结果:
````````
结果和报告存储在/discriptions/
advanced usage
===
项目是按其名称定义的,结果存储在具有此给定名称的mongo数据库中。
一组作业:
例如:
*project"discriptions"由爬网、报表和导出组成种子t
-**存档**:
>在给定url
**和3个可选作业的情况下对整个网站进行爬网,作为管理主要作业的工具:**
-**导出**:
>以json/csv格式导出项目的结果、源和日志。数据集存储在项目的result/name_中
-**报告**:
报表存储在项目的报表/名称中。删除项目时,将自动执行导出操作。
/>*咨询您的项目:
```
crawtext.py vous@cortext.net
`````
*获取报告:
``````
````
`````
*获取导出:
```````
````>crawtext.py导出农药
```
*删除一个projet:
````
crawtext.py删除杀虫剂
````
*运行项目:
````````
`````
*停止当前项目的执行:
``````
```````
````
*repeat t项目:
```
crawtext.py杀虫剂-r(年月周日)
```
*定义项目用户:
````
```
crawtext杀虫剂-u vous@cortext.net
```
==
活动:
-一个**查询**
-一个或多个**种子**(启动爬网的URL)
添加种子有多种方法:
-手动(添加),
-为下一次运行配置文件或密钥(设置),
-收集种子并立即将其添加到源(文件或密钥)(附加)
*查询
----
定义查询:(查询是否支持*?操作员)
````
crawtext杀虫剂杀虫剂-q"杀虫剂?和ddt"```
*来源
----
*从文件定义来源:
`````
crawtext.py杀虫剂-s set sources.txt```
*从文件添加来源:
`````
crawtext.py杀虫剂-s append sources.txt```
*添加来源从url:
```
crawtext.py农药-s添加http://www.latribune.fr````
*定义来自bing搜索结果的源:
````
````
crawtext.py农药-k集12237675647`````
*添加来自bing搜索结果的源:
```
xt.py农药-k附加12237675647```
*根据先前的结果扩展源集:
`````
crawtext.py农药-s扩展`````
*删除种子:
````
````
crawtext.py农药-s删除http://www.latribune.fr````
*删除作业的每个种子:
```
crawtext.py discriptions-s delete```
存档参数(尚未实现):
----
存档作业需要URL,您还可以指定格式提取(可选)
*咨询或创建新的存档项目t:
````
crawtext.py www.lemonde.fr````
*为wiki创建存档:
`````
````
crawtext.py archive fr.wikipedia.org-f wiki```
results
===
结果存储在由项目名称调用的mongo数据库中
t使用导出选项的结果:
```
python crawtext.py农药导出```
集合
数据集的完整结构可以在
-源代码示例.json
-结果示例.json
-日志示例.json
错误报告
----
*1 outlinks empty[done]
*2 expand mode error[done]
features
----
*定义递归深度
后台作业
*执行后发送邮件
*构建web界面
*激活存档模式以爬网整个网站
*yaml集成
源
----
您可以看到代码![这里](https://github.com/c24b/crawtextv2)
-特别感谢Xavier Grangier和他的模块![python goose](https://github.com/grangier/python-goose)分叉用于自动文章检测。
----
*Mongo数据库:
>有时如果通过强制关闭程序,则可能会出现连接到数据库的错误,例如:
````
无法连接到服务器127.0.0.1:在src/mongo/shell/mongo.js:145````
>修复的方法是移除mongod的锁
`````
````
>
````````````
```````````
>
````````````````````/br/>
`````````````
sudo mongod——repaiR’