自动化课的时间表,优化爬虫?
-
03-07-2019 - |
题
整体计划
得到我的类信息的自动化和选择我的统一级时间表
总算法
- 登录到网站的使用它 企业号上的发动机登录
- 找到我的前半期及其 相关的科目(预先安装)
- 导航的权利页和获得数据从各有关 主(讲座、实用和 讲习班的次数)
- 带的数据没用 的信息
- 等级类,近 彼此较高,上的那些 随机的天下
- 解决一个最好的时间表解决方案
- 输出我的详细列表 最好的情况下的信息
- 输出我的详细列表 可能的类信息(一些 可能是完整例如)
- 获得程序来选择最好的 课程自动地
- 继续检查,看如果我们可以 实现7.
6详细 得到所有的课程,使用的讲座,作为一个焦点,将是排名最高的(只有每一个主题),并尽量安排的课程。
的问题
任何人都可以提供链接到的东西,可能是类似这样的希望python写的?关于6.:什么是数据结构你会推荐储存这一信息?链接的列表,其中每个目的佑霖?我应该写的所有信息的文本的文件?
我想佑霖要设置如下 属性:
- 受
- 排名
- 时间
- 类型
- 老师
我几乎没有经验丰富的Python,并认为这将是一个良好的学习项目为尝试来完成。谢谢你任何帮助和提供的链接,以帮助我的开始, 打开编辑内容的标记的适当或者什么都是必要的 (不知道是什么这个瀑布下的其他节目和蟒蛇?)
编辑:真的不能得到适当的格式,我想要为这使邮><
解决方案
根据多远您计划在把#6,和如何大的数据集,它可以是非微不足道的;这当然意味NP-很难全球化,我...
仍然,如果你在谈论数(而不是数以百计)的节点,一个相当愚蠢的算法应该得到足够好的业绩。
所以,你有两个限制:
- 总共订购上课的分数;这是灵活的。
- 类的冲突;这不是灵活的。
什么我的意思是通过灵活的就是你 可以 去更多的分类(用较低的分数),但是你 不能 可以在两个班次。有趣的是,有可能是一个积极的相关关系,这是你和冲突;较高的评分类更可能发生冲突。
我第一次通过在一个算法:
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设计用于快速转变的项目,如屏幕上-刮。三个功能,使之强大的:
- 美丽的汤不会扼如果你把它糟糕的标记。它产生一个分析树,使得大约尽可能多的意义,因为你的原始文件。这通常是良好的足够收集所需的数据和逃跑。
- 美丽的汤提供了一些简单的方法和功能已大大增强成语,用于导航、搜索和修改分析树:一个工具包,为解剖的文件和提取你需要什么。你不需要创建一个自定义的分析器,每个应用程序。
- 美丽的汤自动转换收到的文件,以Unicode和发出的文件UTF-8。你不认为有关的编码,除非该文件未指定编码和美丽的汤不能自动检测的一个。然后你只需要指定原来的编码。
美丽的汤分析任何东西你给它,并且树穿越东西给你。你可以告诉它"找到所有的联系",或者"找到的所有链接的类externalLink",或者"找到的所有链接的网址比赛"foo.com",或者"找到的表格标题,得到了大胆的文本,然后给我这个文本"。
宝贵的数据,一旦锁定在不良设计的网站现在是在你的到达。项目将采取的小时只需要几分钟美丽的汤。
有主了太多的问题在这里。
请打破这种下降到的主题领域和具体问题在每个主题。请聚焦在这些具体问题。请定义条款:"最好"并不意味着任何东西没有一些具体的测量达到最佳化。
这里就是我想我看到在你的名单的议题。
刮HTML
1登录到网站的使用它的企业的标志在发动机上的登录名
2找到我前半期及其相关的科目(预先安装)
3导航的权利页和获得数据从各个相关的问题(讲座、实用和研讨会次)
4条的数据无用信息
一些算法的"排名"基于"相互接近"寻找一个"最佳时间"。由于这些术语的定义,它几乎无法提供任何帮助。
5等级的课程,它们彼此更加接近较高,那些随机的天下
6解决的一个最好的时间表解决方案
输出的东西。
7输出我的详细清单,最好的情况下的信息
8输出我一个详细的清单的可能的类信息(有些可能完全用于例)
优化的东西,在寻找"好的"。另一个不可捉摸的术语。
9获得程序来选择最好的课程自动地
10保持检查,看看如果我们能够实现7.
顺便说一句,Python"列表".不论他们是否是"挂钩"并没有真正进入它。