Internet文档发现工具
iddt的Python项目详细描述
#iddt
Internet文档发现工具
它是什么
https://github.com/thequbit/iddt
您可以有任何多个worker,因为您的系统将允许mongdb连接。MongoDB用作
中央缓存,以限制刮取目标
URL所需的带宽量。
您需要
install mongodb才能使用“iddt”。
-ubuntu
$sudo apt get install mongodb
使用以下代码作为
起点:
import sys
from iddt import worker
logging.basicconfig(level=logging.info)
logger=logging.getlogger(“iddt.worker\u test”)
class myworker(worker):
def\uu init(self,*args,**kwargs):
super(myworker,self)。 logging.info(“myworker_uu init_uu完成。”)
def new_u doc(self,document):
对文档执行操作
pass
len(sys.argv)==3:
pidfile_path=sys.argv[2]
worker=myworker(pidfile=pidfile_path)
worker.register_callback(worker.new_doc)
如果len(sys.argv)>;=2:
logger.info('{}{}{}}}}'。格式(sys.argv[0],sys.argv[1]))
如果“start”==sys.argv[1]:
worker.start()
elif“stop”==sys.argv[1]:
worker.stop()
elif“restart”==sys.argv[1]:
worker.restart()
elif“status”==sys.argv[1]:
worker.status()
其他:
打印(“未知命令”)
退出(2)
退出(0)
其他:
日志记录器。警告(“显示CMD DeAMON使用”)< BR/>打印(“使用:{}开始停止启动”)格式(Sy.AgV(0))< BR/> sys退出(2)
< BR> > BR/>这将允许您启动、停止,并在
命令提示符下重新启动工作守护进程。如果您对使用worker而不是
后台程序感兴趣,您可以使用.run()函数执行相同的功能(请注意,此函数
完全阻塞)。
Run()[BR/>< BR> >你自己来优雅地退出“Run()”函数。如果你设置了
‘工人’,‘运行’到‘false’,它应该在短时间内优雅地退出。
BR/>调度员< BR> > BR/>调度员告诉工人干什么。您可以使用类似
这样的代码:
来自iddt.dispatcher import dispatcher
d=dispatcher()
d.dispatch({
“目标URL”:“http://example.com/”,
“链接级别”:1,
“允许的域”:[],
})
这是根据mime类型查询结果的方式
=dispatcher.get_documents(['application/pdf'])
在
-`link_level`
-这是要跟踪的链接。注意3以上的数字
-`allowed_domains`
-`iddt`工作进程不会跟踪
`target_url`的tld之外的链接。如果您愿意,可以在这里提供
允许域的列表。
请不要客气。
Internet文档发现工具
它是什么
https://github.com/thequbit/iddt
您可以有任何多个worker,因为您的系统将允许mongdb连接。MongoDB用作
中央缓存,以限制刮取目标
URL所需的带宽量。
您需要
install mongodb才能使用“iddt”。
-ubuntu
$sudo apt get install mongodb
使用以下代码作为
起点:
import sys
from iddt import worker
logging.basicconfig(level=logging.info)
logger=logging.getlogger(“iddt.worker\u test”)
class myworker(worker):
def\uu init(self,*args,**kwargs):
super(myworker,self)。
def new_u doc(self,document):
对文档执行操作
pass
len(sys.argv)==3:
pidfile_path=sys.argv[2]
worker=myworker(pidfile=pidfile_path)
worker.register_callback(worker.new_doc)
如果len(sys.argv)>;=2:
logger.info('{}{}{}}}}'。格式(sys.argv[0],sys.argv[1]))
如果“start”==sys.argv[1]:
worker.start()
elif“stop”==sys.argv[1]:
worker.stop()
elif“restart”==sys.argv[1]:
worker.restart()
elif“status”==sys.argv[1]:
worker.status()
其他:
打印(“未知命令”)
退出(2)
退出(0)
其他:
日志记录器。警告(“显示CMD DeAMON使用”)< BR/>打印(“使用:{}开始停止启动”)格式(Sy.AgV(0))< BR/> sys退出(2)
< BR> > BR/>这将允许您启动、停止,并在
命令提示符下重新启动工作守护进程。如果您对使用worker而不是
后台程序感兴趣,您可以使用.run()函数执行相同的功能(请注意,此函数
完全阻塞)。
Run()[BR/>< BR> >你自己来优雅地退出“Run()”函数。如果你设置了
‘工人’,‘运行’到‘false’,它应该在短时间内优雅地退出。
BR/>调度员< BR> > BR/>调度员告诉工人干什么。您可以使用类似
这样的代码:
来自iddt.dispatcher import dispatcher
d=dispatcher()
d.dispatch({
“目标URL”:“http://example.com/”,
“链接级别”:1,
“允许的域”:[],
})
这是根据mime类型查询结果的方式
=dispatcher.get_documents(['application/pdf'])
在
-`link_level`
-这是要跟踪的链接。注意3以上的数字
-`allowed_domains`
-`iddt`工作进程不会跟踪
`target_url`的tld之外的链接。如果您愿意,可以在这里提供
允许域的列表。
请不要客气。