请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师你好, 我想把你的爬虫代码转成Python语言的

老师, 能提供一点 思路嘛, 就比如说 engine这段代码, 用python没有struct这种语法, 我就 有点 蒙圈了.希望老师给个思路

正在回答 回答被采纳积分+3

2回答

ccmouse 2018-11-19 20:30:26

struct转成python很方便啦:)使用python的class就行,甚至轻量一些的话,使用named tuple也可以。

但是这边爬虫转到python的难点在于那些channel。python里面没有与之对应的东西。我们背后是一个多任务并发的运行系统。python 3经过多次改进,现在也支持并发。同学可以看一下使用async/await进行异步编程的相关知识。不过这个模型和go的模型不一样,因此我们可能需要比较大规模的重写代码才行。

1 回复 有任何疑惑可以回复我~
  • 提问者 鱼右 #1
    说到这里,我还想问,老师 Go里面的channel在python 里面有什么代替呢,或则说python 中为什么没有channel 这种东西呢
    回复 有任何疑惑可以回复我~ 2018-11-19 22:13:24
  • ccmouse #2
    python没有直接的替代。他有自己的一套异步编程机制。这个go语言是比较创新的。python作为一门历史更长的语言,很难在现有模型中再加入channel那套东西
    回复 有任何疑惑可以回复我~ 2018-11-20 19:49:39
  • 提问者 鱼右 回复 ccmouse #3
    好的,谢谢老师,老师最近有新的实战课嘛,翘首以盼中
    回复 有任何疑惑可以回复我~ 2018-11-25 00:24:53
ccmouse 2018-11-19 20:34:31

当然,如果只是想实现一个爬虫的话,我们更应当考虑开源框架,比如scrapy。慕课网上也有相关的课程。

相信同学上完我这门课后,再去使用scrapy会很容易上手。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信