Python爬虫_BeautifulSoup续
Python爬虫Day_8——BeautifulSoup续
CSS选择器
根据标签的名字选择,示例代码如下:
1
2
3p{
background-color:pink;
}根据类名选择,name要在类的前面加一个
.
,示例代码如下:1
2
3.line{
background-color:pink;
}根据
id
名字选择,那么要在id
的前面加一个#
号,示例代码如下:1
2
3#box{
background-color:pink;
}查找子孙元素,要在子孙元素中间有一个空格,示例代码如下:
1
2
3#box p{
background-color:pink;
}查找直接子元素,要在父子元素之间加一个
>
,示例代码如下:1
2
3#box > p{
background-color:pink;
}根据属性的名字进行查找,应该先写标签名字,然后再在中括号中写属性的值,示例代码如下:
1
2
3input[name='username']{
background-color:pink;
}在根据类名或者
id
进行查找的时候,如果还要根据标签名进行过滤,可以在类的前面或者id
的前面加上标签名字,示例代码如下:1
2
3
4
5
6div#line{
background-color:pink;
}
div.line{
background-color:pink;
}
BeautifulSoup中使用css选择器:
在BeautifulSoup
中,要使用css选择器,那么应该使用Soup.select()
方法,应该传递一个css选择器的字符串给select()
方法。
常见的四中对象:
- Tag:BeautifulSoup中所有的标签都是Tag类型,并且BeautifulSoup的对象其实本质上也是一个Tag类型。所以其实一些方法如find、find_all并不是BeautifulSoup的,而是Tag的。
- NavigableString:继承自python中的str,用起来就跟使用python的str是一样的。
- BeautifulSoup:继承自Tag。用来生成BeautifulSoup树的。对于一些查找方法,比如find,select这些,其实还是Tag的。
- Comment:这个也没什么好说的,就是继承自NavigableString。
contents和children:
返回某个标签下的直接子元素,其中也包括字符串。他们两的区别是:contents返回来的是一个列表,children返回的是一个迭代器。�器。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WineMonk!
评论