我希望大佬能够写一篇关于这个项目大致思路,或者关于tornado于scrapy进行交互的文章
Closed this issue · 5 comments
scrapy嵌入到web,参考了https://www.tornadoweb.org/en/stable/twisted.html ,结合croshet这个包
特别是在tornado中get,post方法那些地方,没有找到大佬究竟做了什么事,那些属性或者方法是在什么地方写进去的
你可能需要补一下Py基础,这里只是利用getattr做了一层封装。许多web框架里都有类似的dispatch方法。
文章什么的,我时间少,而且这个项目也没什么人用,就先不写了:smile: 谢谢关注
感谢大佬的回复,我确实应该补一下python的基础了,在twisted和croshet这两个库确实还没有看,之后我会仔细看看两个怎么用。
不过我还是有个地方不是很明白,希望能够解惑。
我不知道在WebHandler中_post_,get_等等这些方法是在什么地方设置的,继承RequestHandler应该是没有的,难道是调用了什么特别的方法才有的。我只在里面找到了创建的协程get,post,head等等这些方法,然后这些方法会调用process去调用相应的_get,post。但是我就是找不到_get_,_post_这些方法在什么地方。
是crochet,打错了。
Tornado默认会调用get,这里的_get_是要通过继承WebHandler自己实现的,这样Tornado调用get时,就会运行process方法,执行https://github.com/Karmenzind/fp-server/blob/master/src/core/web.py#L169 里的前后逻辑(prepare和complete)。
但我写接口时并没有用它。
Tornado和Scrapy的官方文档是很好的教程。《Learning Scrapy》这本书还可以,后两章讲了涉及到的Twisted知识。
没有特别需要的话,没必要深入学Twisted。
非常感谢您的讲解,而且这本书我粗略的看了一下目录,应该可以学到很多我在网上面不容易找到的知识,再次表示感谢。我又阅读了一遍大佬的代码,只能感慨大佬的功力深不可测,也让我知道自己的知识有多么浅薄。
WebHandler这个我大概懂了,这只是一个父类,并不是我们真正的逻辑所在,通过子类的继承来重新实现get,post等功能。
另外在这里留下《Learning Scrapy》中文版的网盘地址,如果有人需要可以直接下载:https://pan.baidu.com/s/1qi7mtPh5FoHCepJLlojvkg
太客气了 加油
书籍是有版权的 最好不要传播下载链接