【发布时间】:2010-02-02 03:27:17
【问题描述】:
我对我的(微生物学和遗传学)学生提出的一个论点是“数据”是/是混乱的,Python 可以帮助解决这个问题(当然其他语言也可以)。因此,这是一种实用的基于网络的数据收集练习。
我注意到在代表最高的用户中,有少数人回答了与 Python 相关的问题。在自然出现的问题中:
我希望恢复 Stack Overflow 上(评分最高的)Pythonistas 的当前代表和代表增加率,以便预测 Alex Martelli 是否或何时超过 Steven Lott 或 Greg Hewgill? Konrad Rudolph 呢?是不是因为这些家伙的增长都被限制在了极限,所以微不足道?
更一般地说,在没有用于查询的 API(我认为没有)的情况下,除了查看页面的 URL 以查找模式、使用 Python 加载这些页面然后抓取 html 之外,还有其他选择吗?我意识到可能没有通用的方法,但我对人们如何解决这个问题很感兴趣。
编辑:@fitzgeraldsteele:一般来说。 SO 实际上只是一个(人为的)示例。
【问题讨论】:
-
不确定这里的问题是什么...您是在寻找一般的屏幕抓取方式,还是专门寻找 stackoverflow 的方式?
-
显然,有 /was/ 一个 API 用于这个确切的任务 (stackoverflow.uservoice.com/pages/general/suggestions/…),但它现在似乎被破坏了
-
使用 BeautifulSoup 或正则表达式进行简单的抓取和解析将使整个项目在几个小时内完成。
-
@Max. S:请将其发布为答案,以便我们投票。
-
如果你问的是 HTML 抓取,这绝对是重复的。所有这些:stackoverflow.com/search?q=%5Bpython%5D+%5Bhtml%5D+soup 不,Martelli 可能更瘦、更聪明、更漂亮,但他永远追不上我。我有长时间运行的单元测试,在重构时给了我太多的“空闲”时间。