欢迎回来｡
我们有自己的数据, 但还是有点脏｡
我是说, 我们还没有真正过滤｡
我只关心超过100票的故事, 我们也希望有一个漂亮的方式来展示它们｡
所以让我们继续努力｡
我想创建一个函数, 我们称之为Create.
自定义黑客新闻和这创建自定义黑客新闻将收到链接和投票｡
就在上面｡
在这里, 我们要做的是创建一个新的黑客新闻列表, 该列表一开始是空的｡
现在, 我只想把黑客新闻列表还给你｡
但在这个列表中, 我只想添加文本, 而不添加HTML｡
例如, 对于链接, 我们只关心标题｡
那么我们如何才能做到呢？
我们想循环遍历一些东西｡
我们要做的就是说四, 这里我们用枚举｡
所以我们会有一个索引, 然后是一个项目｡
在这里我们要枚举, 记住, 我们以前见过枚举, 它也给了我们一个索引｡
我们将枚举这些链接, 我马上会告诉你们为什么要枚举｡
所以在这里我想抓取每个链接的标题｡
简单地这样做, 我们就可以说是链接｡
的索引｡
或者我们将其更改为ID X, 这样更好一些｡
所以我们要抓住｡
每个链接的索引｡
我们还可以在漂亮的汤里使用get text｡
这样就可以把文本放在文本里面了｡
为了让我们开始学习这个, 我只想简单地说, 你怎么能用点追加, 把标题加到列表中呢？
让我们看看我跟注时会发生什么｡
我会说创建自定义黑客新闻, 我们将通过它的链接和投票｡
所以我们先保存运行这个｡
哦, 看起来我不能在这里拼写枚举, 所以让我们来解决这个问题｡
应该是EA的一个新优点｡
我们再来一次｡
好的, 没有错误, 但我们希望能打印出来｡
这么说吧｡
打印｡
看看我们能得到什么｡
我来做这个｡
好吧, 我会的
你看那个｡
我们有所有的文本, 我们的链接的标题｡
那太好了｡
好吧, 我会的
但是这些标题没有链接就没用了｡
对不对？
如果你记得一个HTML链接｡
定义为H参考｡
此H ref属性是我们可以单击以转到下一页或此标题的页的链接｡
我们也可以取这个值, 称之为h参考｡
这将等于｡
链接｡
索引｡
这一次, 我们不想收到短信｡
我们希望属性正确, 这样我们就可以实际使用dot get, 然后获取h ref,
以防没有ref或者链接断开, 我们可以在第二个参数中给予默认值, 我就说none｡
所以现在这个黑客新闻附加如果我们只是附加, 比如说这次裁判和我运行这个｡
你看那个｡
我们有页面上的所有链接｡
这是真棒｡
但是我们现在怎么把冠军和裁判联合收割机呢？
这应该很简单吧？
我们可以用字典｡
在我们的列表中, 我们可以添加一个字典, 它的标题就是, 这里的标题.
然后还｡
有了联系｡
那将是｡
就在这里
所以在这里｡
现在, 我们将有一个带有标题和链接的词典｡
所以如果我保存｡
再运行一次｡
你看那个｡
我们有一本字典有一个链接｡
还有一个头衔｡
太棒了｡
所以我们获取了我们需要的信息, 我们获取了链接和文本｡
其他的事情对我们来说都不重要, 但我们仍然有选票｡
那么我们如何才能做到呢？
选票｡
我们可以创建一个变量或者, 来代替选票, 来和这个区别, 我们就说点吧.
还有分｡
我们该怎么办呢？
我们要抢选票｡
索引｡
记住, 我们在这里循环, 我们只需要简单地说, 获取文本｡
现在让我们看看当我们得到文本时, 最初会得到什么｡
所以在这里, 我要打印｡
分, 看看我们得到什么｡
我将把这里的指纹去掉, 这样我们就可以集中精力讨论这些问题了｡
所以我决定先保存后跑｡
好吧, 我会的
我们得到了一个错误, 我们得到了所有这些点, 但看起来我得到了一个错误, 说列表索引超出了范围｡
这是一个小陷阱, 你有时候必须在抓取网站时进行调试｡
但实际上, 这里发生的是一个故事, 这是一个特殊的故事,
实际上没有任何投票, 这是非常罕见的黑客新闻的头版｡
但这位没有选票｡
所以基本上它说的是我从来没有得到分数, 这个分数｡
所以严格来说我们的链接比投票还多｡
所以当我们到达最后一个环节的时候, 投票名单上少了一个人｡
所以它会说, 嘿, 我想在最后抢到选票, 但是没有更多的选票了｡
此列表比链接列表短｡
所以我们可以在这里做一个快速的检查, 以确保当我们抓住这些东西时, 我们只关心有投票的故事｡
幸运的是, 这就是为什么我们要检查一个故事是否超过100分｡
我们要做的是, 在这里添加一个if语句｡
现在, 在添加if语句之前,
我们实际上要将其转换为一个数字, 这样我们就可以说, 嘿, 如果一篇文章得得分超过100分, 我们就希望保留它并将其附加到我们新得Hacker News中.
所以我们要做的第一件事就是简单地说｡
我们想把它转换成一个整型数｡
但我们也要更换｡
这里的点, 空间的点变成了, 嗯, 什么都没有｡
所以我们可以用点替换的方法, 简单地说, 嘿, 任何时候你看到空间点, 这就是我们在这里看到的｡
我想让你用一个空字符串来替换它｡
这将返回一个数字字符串, 然后将其转换为整数.
让我们来测试一下｡
让我们关闭括号在这里｡
按下安全键, 运行我们的脚本｡
就这样｡
我们有自己的号码｡
那太好了｡
但是, 我们仍然有这个错误｡
那我们能做些什么呢？