2.7.3及3.2.2前的版本中的中文版本容错能力低
Find_all
Find_all(name(标签名,例:div,li,p,a,等标签,可以循环遍历),attrs(find_all(“属性(id,name)”,”属性名”)),recursive(递归),text(find_all(text=”***”返回标签里的内容,
<a>内容</a>)),**kwargs)
注:attrs 还可以find_all(id = “***”)形式,class是关键字,要用class_.
Find:把列表里的第一个值返回出来.
CSS选择器:
通过select()直接传入css选择器即可完成选择,可以嵌套选择,还可以通过循环遍历
·选择class,class名前面要加.(点),往后的话要用空格隔开,返回最后一个class名的所有标签名及标签内容,没有则返回空集合。例soup.select(‘.class名 .class名’).
·也可以选择标签,直接输入标签名即可 ,标签后还有标签用空格隔开,返回最后一个符合要求的所有标签名及标签内容,没有则返回空集合soup.select(‘div li a…..’).
·选择id,要在id名前面加上#号,id名对应的标签后还有标签,用空格隔开,同class选择和标签选择同理。返回最后一个id名的所有标签名及标签内容 soup.select(‘#id名 #id名’).
·获取标签属性,使用方法:在for循环中用soup.select(‘标签名’)进行遍历.例:for ul in soup.select(‘ul’):print(ul[‘id’])返回id属性的内容。
·获取内容,使用方法,在for循环中使用soup.select(‘标签名’)进行遍历。例:for li in soup.select(‘li’):print(li.get_text())返回li标签中的内容。