Python爬虫Day_7——BeautifulSoup

  • The code for ever.
  • Later equals never.
  • The fault, dear Brutus, is not in our stars, but in ourselves that we are underlings.
  • 整洁的代码只做好一件事;
  • 能通过所有的测试;没有重复的代码;体现系统中的全部设计理念;包括尽量少的实体,如类、方法、函数等;
  • 类名和对象名应当是名词或名词短语;方法名应当是动词或动词短语;

BeautifulSoup笔记:

find_all的使用:

  1. 在提取标签的时候,第一个参数是标签的名字,然后如果在提取标签的时候想要使用标签属性进项过滤,那么可以在这个方法中通过关键字参数的形式,降属性的名字以及对应的值传进去,或者使用attrs属性,将所有的属性以及对应的值放在一个字典中传给attrs属性。
  2. 有些时候,在提取标签的时候,不想提取那么多,那么可以使用limit参数,限制提取多少个。

find与find_all的区别:

  1. find:只返回第一个符合条件的标签。
  2. find_all:返回所有符合条件的标签(以列表的形式)。

使用find和find_all的过滤条件:

  1. 关键字参数:将属性的名字作为关键字参数的名字,以及属性的值作为关键字参数的值进行过滤。
  2. attrs参数:将属性条件放到一个字典中,传给attrs参数。

获取标签的属性

  1. 通过下标获取:通过标签的下标的方式。

    1
    href = a['href']
  2. 通过attrs属性获取:

    1
    href = a.attrs['href']

string、strings和stripped_strings属性以及get_text方法:

  1. string:获取某个标签下的非标签字符串,如果标签下有多行非标签字符串,则无法获取。(返回字符串)
  2. strings:获取某个标签下的子孙非标签字符串。(返回生成器)
  3. stripped_strings:获取某个标签下的子孙非标签字符串,会去掉空白字符串。(返回生成器)
  4. get_text:获取某个标签下的子孙非标签字符串。(返回字符串)

  • 三观不同不为友,层次不同不争辩。
  • 从此君王不早朝。�朝。