现在, 在我看来, 实际使用这个soup对象的最好方法之一就是在它上面使用select方法｡
Select允许我们从我们刚刚下载并使用CSS选择器创建的soup中获取一段数据｡
这是一门python课程, 所以我们不会过多关注CSS选择器｡
我将链接到一个资源, 以便您可以了解更多有关他们｡
但是CSS选择器允许我们访问这些数据｡
使用良好的CSS选择器｡
如果我在这里谷歌一下CSS选择器, 你可以看到, 这是一个在HTML页面上获取元素的不同方法的列表｡
我们可以使用类､ ID和实际元素｡
让我来告诉你怎么做｡
我可以说, 例如, 选择一个｡
这又有什么用呢？
如果我运行这个脚本, 它会选择所有攻击｡
这不是什么新鲜事｡
我们以前见过｡
如果我们愿意的话, 我们也可以这样做｡
但是我们可以超越一个元素, 比如说, 我们想要选择班级分数｡
因此, 可以通过使用点标记法来访问此类分数｡
所以dot score会抓取页面上的所有分数｡
看这个｡
如果我清除这个然后跑过来｡
你看那个｡
我找到了所有有分数的垃圾邮件标签｡
你可以看到这里是所有跨度的列表, 因为这个跨度有一个分数类.
此跨度有一个评分等级｡
我们也可以用ID做同样的事情｡
所以如果你想得到这个ID, 我们只需要用LB, 然后是ID, 而不是用点来代表类.
所以如果我运行这个｡
我们得到｡
这一个跨度, 因为这是唯一一个具有此特定ID｡
现在, 我将链接到一个资源, 您可以在其中了解更多CSS选择器｡
当你开始选择不同的､ 复杂的､ 嵌套的元素时, 它们会变得非常非常强大｡
让我来告诉你｡
让我们开始计划我们要做什么｡
现在在这里｡
我先把这个关上｡
我想抓住这里的链接｡
这就是一个故事的标题和链接, 这个故事有超过100分, 选票和其他所有没有100分的东西, 就像这个故事一样,
我不在乎｡
所以我只是把它过滤掉｡
所以我们要做的是, 首先, 抓住这个链接, 抓住这个选票｡
所以我们也列出了这个故事有多少票｡
我的方法是右键单击, 单击, 检查｡
我们所知道的是, 我们要抓取这个链接, 它有一个故事链接类｡
好吧, 我会的
所以, 如果我去那边的这个地方检查, 我会再检查一遍｡
你看到了吗？
这一个有一个类的故事链接以及｡
所以我们只需要抓取所有具有类故事链接的元素, 看看会发生什么｡
我会用点故事链接因为点表示它是一个类｡
让我们看看我们得到了什么｡
我去查一下文件｡
好吧, 我们有一大堆名单｡
但看起来都是袭击｡
所以这些都是我们可以使用的链接｡
看起来这是一个列表, 所以我们可以使用方括号0来获取第一个元素.
让我们看看这是否有效｡
我希望我能在这里过关｡
再运行一次｡
好吧, 我会的
看看2015年的视觉信息理论｡
这是这里的第一件东西
所以看起来故事链接可以抓取标签, 每个项目的链接｡
好吧, 那选票呢？
我们也来抢票吧｡
我将右键单击, 然后说“检查”｡
这是什么？
我们看到我们有一个class of score, 所以我们就把所有的class都取出来｡
所以我会说这是链接, 这是好的, 只是不是抓住第一个项目, 我会抓住所有的链接,
我也会抓住所有的选票｡
所有的选票都将是窥探, 点, 选择, 然后抓住｡
再说一遍是什么？
那是一堂乐谱课｡
所以我会说抓取所有有score类的元素｡
为了确保这一点, 让我们只是说打印选票, 并抓住第一个项目｡
所以我要运行这个｡
看我有180分因为第一个故事｡
好吧, 让我们刷新页面, 因为这可能已经改变了｡
是的, 看起来像｡
这个网站一直在变｡
它现在有182票｡
所以如果我在这里刷新, 就可以了｡
一百八十二分｡
太棒了｡
所以我们现在已经抓住了我们真正关心的两条信息, 链接和投票｡
幸运的是, 它们都是有序的, 因为每个链接, 第一个链接和第一个投票是在一起的,
第二个链接和第二个投票是在一起的｡
这对我们很有用｡
现在, 就像美味的汤的附言一样, 我们可以不断地改变这些, 对吗？
例如, 我现在可以说选票｡
点get和get, 例如, 属性名称｡
比如说, 我可以抓｡
一个乐谱在这里, 说, 嘿, 从这里抓住乐谱｡
所以如果我在这里打印｡
我负责这个｡
选票是一个列表, 所以我们必须先找到第一个元素.
我们先来看看第一个元素｡
再运行一次｡
我们没有得到任何结果, 因为, 这就是值｡
属性为ID｡
所以如果我真的得到了｡
比如ID, 我运行这个｡
现在我得到了实际的ID值｡
所以有了美味的汤, 我们可以不断地改变这些, 我们可以不断地选择｡
如果我们有更多的信息, 我可以在这里输入点选择｡
但在我们的情况下, 我们有我们需要的信息｡
现在是我们进入下一步的时候了, 那就是试着把这些结合起来, 让它更有用｡
让我们在下一个视频中进行演示｡