整体计划

得到我的类信息的自动化和选择我的统一级时间表

总算法

  1. 登录到网站的使用它 企业号上的发动机登录
  2. 找到我的前半期及其 相关的科目(预先安装)
  3. 导航的权利页和获得数据从各有关 主(讲座、实用和 讲习班的次数)
  4. 带的数据没用 的信息
  5. 等级类,近 彼此较高,上的那些 随机的天下
  6. 解决一个最好的时间表解决方案
  7. 输出我的详细列表 最好的情况下的信息
  8. 输出我的详细列表 可能的类信息(一些 可能是完整例如)
  9. 获得程序来选择最好的 课程自动地
  10. 继续检查,看如果我们可以 实现7.

6详细 得到所有的课程,使用的讲座,作为一个焦点,将是排名最高的(只有每一个主题),并尽量安排的课程。

的问题

任何人都可以提供链接到的东西,可能是类似这样的希望python写的?关于6.:什么是数据结构你会推荐储存这一信息?链接的列表,其中每个目的佑霖?我应该写的所有信息的文本的文件?

我想佑霖要设置如下 属性:

  • 排名
  • 时间
  • 类型
  • 老师

我几乎没有经验丰富的Python,并认为这将是一个良好的学习项目为尝试来完成。谢谢你任何帮助和提供的链接,以帮助我的开始, 打开编辑内容的标记的适当或者什么都是必要的 (不知道是什么这个瀑布下的其他节目和蟒蛇?)

编辑:真的不能得到适当的格式,我想要为这使邮><

有帮助吗?

解决方案

根据多远您计划在把#6,和如何大的数据集,它可以是非微不足道的;这当然意味NP-很难全球化,我...

仍然,如果你在谈论数(而不是数以百计)的节点,一个相当愚蠢的算法应该得到足够好的业绩。

所以,你有两个限制:

  1. 总共订购上课的分数;这是灵活的。
  2. 类的冲突;这不是灵活的。

什么我的意思是通过灵活的就是你 可以 去更多的分类(用较低的分数),但是你 不能 可以在两个班次。有趣的是,有可能是一个积极的相关关系,这是你和冲突;较高的评分类更可能发生冲突。

我第一次通过在一个算法:

selected_classes = []
classes = sorted(classes, key=lambda c: c.score)
for clas in classes:
    if not clas.clashes_with(selected_classes):
        selected_classes.append(clas)

工作发生冲突可能会很尴尬如果课程是不均匀的长度,开始在奇怪的时间等等。映的开始和结束时进入到一个简单表示的"区块"的时间(每15分钟,30分钟或什么你需要)将使它更容易看重叠之间开始和结束的不同类别。

其他提示

BeautifulSoup 是这里提到几次,e。克 让-list-of-xml-attribute-数值-在-蟒蛇.

美丽的汤是蟒蛇HTML/XML parser设计用于快速转变的项目,如屏幕上-刮。三个功能,使之强大的:

  1. 美丽的汤不会扼如果你把它糟糕的标记。它产生一个分析树,使得大约尽可能多的意义,因为你的原始文件。这通常是良好的足够收集所需的数据和逃跑。
  2. 美丽的汤提供了一些简单的方法和功能已大大增强成语,用于导航、搜索和修改分析树:一个工具包,为解剖的文件和提取你需要什么。你不需要创建一个自定义的分析器,每个应用程序。
  3. 美丽的汤自动转换收到的文件,以Unicode和发出的文件UTF-8。你不认为有关的编码,除非该文件未指定编码和美丽的汤不能自动检测的一个。然后你只需要指定原来的编码。

美丽的汤分析任何东西你给它,并且树穿越东西给你。你可以告诉它"找到所有的联系",或者"找到的所有链接的类externalLink",或者"找到的所有链接的网址比赛"foo.com",或者"找到的表格标题,得到了大胆的文本,然后给我这个文本"。

宝贵的数据,一旦锁定在不良设计的网站现在是在你的到达。项目将采取的小时只需要几分钟美丽的汤。

有主了太多的问题在这里。

请打破这种下降到的主题领域和具体问题在每个主题。请聚焦在这些具体问题。请定义条款:"最好"并不意味着任何东西没有一些具体的测量达到最佳化。

这里就是我想我看到在你的名单的议题。

  1. 刮HTML

    1登录到网站的使用它的企业的标志在发动机上的登录名

    2找到我前半期及其相关的科目(预先安装)

    3导航的权利页和获得数据从各个相关的问题(讲座、实用和研讨会次)

    4条的数据无用信息

  2. 一些算法的"排名"基于"相互接近"寻找一个"最佳时间"。由于这些术语的定义,它几乎无法提供任何帮助。

    5等级的课程,它们彼此更加接近较高,那些随机的天下

    6解决的一个最好的时间表解决方案

  3. 输出的东西。

    7输出我的详细清单,最好的情况下的信息

    8输出我一个详细的清单的可能的类信息(有些可能完全用于例)

  4. 优化的东西,在寻找"好的"。另一个不可捉摸的术语。

    9获得程序来选择最好的课程自动地

    10保持检查,看看如果我们能够实现7.

顺便说一句,Python"列表".不论他们是否是"挂钩"并没有真正进入它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top