Conversation
|
感谢代码提交。 修改后的代码确实比之前更清晰。之前代码都写到一个文件里,确实有些臃肿。也想过按代码功能分成几个文件重构,只是因为两个原因一直没有重构:一是单个文件可能使用更简单,使用者只需要修改一个文件就够了;二是一点小心思,即同样的功能,大家可能更喜欢简单的代码,单文件看起来比多个文件要简单一点,虽然二者代码差不多。 重构后的代码确实更清晰,更易读,更容易二次开发。作了一些测试,发现还有一些问题:
重构后的代码结构清晰,只是还有需要完善的地方,因此我创建了multi-file分支,将本次提交merge到了该分支上。 多文件的版本虽然有一些小问题,但是整体格局非常好,也给了我很多启发,是一个非常不错的参考。再次感谢对本程序的重构 |
|
感谢作者的及时反馈。 关于提到的问题:
感谢作者的爬虫代码,也让我学到很多。 |
|
关于 2 提到的 csv 字段对应问题在现存代码中也存在。 具体是因为 这一行里 关于 Python 字典的 values() 方法返回值的顺序? - 廖雪峰的回答 - 知乎 会在下一个 pull request 修复。 |
|
感谢反馈。 这个问题在现存代码中应该是没有的。我以前遇到过这个问题,因为python2的dict值是无序的,部分python3版本也是无序的,导致csv内容错位,为了保证所有python版本正确运行,我后来换成了OrderedDict, 现存代码中可能还存在其它我没发现的问题,欢迎反馈,再次感谢 |
|
我找到csv错位的原因了。 https://github.com/dataabc/weiboSpider/blob/multi-file/html_parser.py#L292 |
|
啊有道理。 我当时为了把图片和视频相关的隔离出来就都调整到了最后面,结果忘了调整 headers 的顺序。 多谢 debug. |
代码重构:将该爬虫的各个模块进行了解耦拆分。
使条理更加清晰,也方便其余开发者对不同模块贡献代码。
运行: