爬虫基础概念之HTML学习
1、HTML 超文本标记语言
HTML页面中,所有内容都包含在一对标签内,标签之间可以嵌套,标签和标签对应的内容共同组成HTML页面。
标签定义的内容元素称为节点,节点的相互嵌套形成了网页的结构,称为HTML DOM树
。DOM是W3C的标准,即文档对象模型,定义了访问XML和HTML文档的标准,HTML DOM就是针对HTML文档的标准模型。
根据W3C的HTML DOM标准,HTML文档内的所有内容都是节点:
- 整个文档是一个文档节点
- 每个HTML元素是元素节点
- HTML元素内的文本是文本节点
- 每个HTML的属性是属性节点
- 注释是注释节点
HTML DOM将HTML文档视为树结构,这种结构称为节点树。
节点中的节点彼此间的关系可以用父节点(parent)
、子节点(child)
和兄弟节点(sibling)
来描述。这些关系可以在HTML页面要素多而复杂时,使用解析库如BeautifulSoup
对页面进行有效解析。如找到包含在a标签下的所有p标签,就可以使用
soup = BeautifulSoup(url,"html.parser")`
for p in soup.find("a").childrens:#完成对a标签下的所有p标签遍历
当想要爬取页面上某一特定内容,比如页面内的表格,通常是由<tbody>
、<th>
、<tr>
、<td>
等标签嵌套组成,这时就要对页面进行解析,找到我们要爬取的内容所在的标签定向爬取。
当然现在页面多用的是HTML5,HTML5的一些新特性与新标签参考w3cschool