Brent's answer建议我建立一个SO问题数据库,以便他可以快速分析问题。
我对通过MySQL创建一个类似的数据库感兴趣,这样我就可以在与Brent类似的查询中实践MySQL。
数据库至少应包括以下字段(我在这里猜测是因为SO的api的API似乎是sectet)。我的目标是仅列出相关变量,这将使我能够进行与布伦特相似的分析。
问题
Question_id(私钥)
提问时间
注释
Comment_id(私钥)
评论时间
User_id(私钥)
用户名
我们显然需要使用Python的Beautiful Soap抓取数据,因为Brent的数据库显然是隐藏的。
您如何通过Python的Beautiful Soap制作这样的MySQL数据库?**
最佳答案
我敢肯定可以直接使用@RichieHindle提到的XML数据转储,但是我对@nobody_的sqlite版本更加满意-尤其是在该sqlite版本中将索引添加为README文件之后。
如果您拥有完整的,已建立索引的sqlite版本,并希望将带有Python标签的子集加载到MySQL数据库中,那么可以使用两个DB API实例,从sqlite读取一个实例并写入MySQL,这可以看作是一个简单而整洁的练习。一个(个人认为,完成索引构建后,sqlite的性能完全令人满意,因此,我没有提取子集,也没有转移到其他DB引擎)—不需要Soup或Soap。无论如何,对我来说,这比直接从XML加载要简单得多,而且速度更快,尽管有lxml和其他所有功能。
当然,如果您仍然希望执行子集加载,并且在编写代码时遇到任何麻烦,请询问(提供模式和代码示例,错误消息(如有)等),SOers将照常尝试回答!-)