使用asyncio的dht爬虫框架。

Maga的Python项目详细描述


使用asyncio的dht爬虫框架。

用法

frommagaimportMagaimportlogginglogging.basicConfig(level=logging.INFO)classCrawler(Maga):asyncdefhandler(self,infohash,addr):logging.info(addr)logging.info(infohash)# Or, if you want to have more controlclassCrawler(Maga):asyncdefhandle_get_peers(self,infohash,addr):logging.info("Receive get peers message from DHT {}. Infohash: {}.".format(addr,infohash))asyncdefhandle_announce_peer(self,infohash,addr,peer_addr):logging.info("Receive announce peer message from DHT {}. Infohash: {}. Peer address:{}".format(addr,infohash,peer_addr))crawler=Crawler()# Set port to 0 will use a random available portcrawler.run(port=0)

更改日志

版本3.0.0

  • peer_addrparam添加到handle_announce_peer方法。
  • 不要在处理程序上引发notimplementederror

版本2.0.1

  • 不执行信号时不要失败。(#3

版本2.0.0

  • 添加handle_get_peerhandle_announce_peer方法。
  • addrparam添加到处理程序

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

推荐PyPI第三方库


热门话题
java无法在安卓 Studio中为安卓:onClick执行方法   传真我如何以编程方式接收传真?最好是java语言   开源如何向标准java库中添加任何类?   多线程Java执行器在上一个完成后执行一个可调用的?   java广播接收器在后台不工作   java替换元素   删除文件。java Maven项目   java不同语言   linux告诉java要听哪个键盘   数组Java 8流,仅第一次获取max()需要很长时间   从Stubbed@SpringBean返回的java Spock+Spring存根始终返回null   java为什么EnumMap为空值分配对象类对象?   使用Java对话框查找最小值和最大值   支持新旧安卓版本的java Copy with clipboard manager?   它显示了桌面版本。我想展示手机版(现在可以了)   java如何从文本文件中读取一行,调用该行上的函数并移动到第二行,等等?   java如何为体育项目编写深度图表和列表?   java如何创建IntentService来检查GoogleAppClient是否为空