BeautifulSoup之爬静态界面

小注:今天可算是学会的markdown切换了。点击上面“预览模式”。

BeautifulSoup爬取静态页面套路

BeautifulSoup之爬静态界面_第1张图片
关键字:检查

鼠标移到想了解的信息上,右键点击检查,再在有阴影显示的地方右键显示copy,选取selector,如下图:

BeautifulSoup之爬静态界面_第2张图片
关键字:copy

需要爬取什么都要先将这些东西copy出来,然后做一些修改,修改在后面会说到。基本上的工作就做完了,下来就是代码了:

BeautifulSoup之爬静态界面_第3张图片
第一步套路

先用 soup = BeautifulSoup(url, 'lxml')创建一个实例,然后 select一下刚才复制的selector,注意那些child都需要删除。
其中有个难点就是摘取星星,也就是等级的作法:自己的方法是用debug模式一级一级的去掉节点,直到能返回数据,这个过程是一次一次尝试出来的。

BeautifulSoup之爬静态界面_第4张图片
第二步套路

第二步用到了一些方法:

  • get_text(),
  • get(xx)(选中xx属性的value),
  • find_all()
    关键词就是迭代,把数据以字典方式展现出来,其中的关键点还是星星个数,就是用find_all()中的属性,查找这个属性value的个数

BeautifulSoup之爬静态界面_第5张图片
一个星星就是一个属性,空星是empty

所以用 len()去数个数就可以了

爬取结果是:

BeautifulSoup之爬静态界面_第6张图片
前半部分
BeautifulSoup之爬静态界面_第7张图片
后半部分

原谅我不会跨屏截图。

总结:

1.创建实例soup=BeautifulSoup(url, 'lxml')
2.select拷贝的节点路径,删除child相关信息。目的是抓取的是所有的同类信息,titles就是抓取了所有title。特别注意的是,我们select的数据返回的是一个列表所以才能在for title in titles:这里做迭代
3.get_text(),get(), find_all()拿到指定的value。目的是去掉tag等信息
4.迭代出来

你可能感兴趣的:(BeautifulSoup之爬静态界面)