BeautifulSoup获取指定class样式的div

Posted morein2008

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BeautifulSoup获取指定class样式的div相关的知识,希望对你有一定的参考价值。

如何获取指定的标签的内容是解析网页爬取数据的必要手段,比如想获取<div class=‘xxx‘> ...<div>这样的div标签,按照BeautifulSoup官方文档的说明怎么都不能成功,后来在百度知道(http://zhidao.baidu.com/question/433247968620775644.html)找到答案,真是扯淡,附上有效代码:

bs=BeautifulSoup(html)
print bs.find_all(name=div,attrs={"class":"footer"})#按照字典的形式给attrs参数赋值

完整的:

from bs4 import BeautifulSoup
import urllib2def getTargetDiv(url,myAttrs):
    html=urllib2.urlopen(url).read()
    bs=BeautifulSoup(html)
    return bs.find_all(name=div,attrs=myAttrs)

if __name__=="__main__":
    url=rhttp://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
    myAttrs={class:footer}
    print getTargetDiv(url, myAttrs)

按照官方文档(http://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/)的做法:

#1.soup.find_all("a", class_="sister")
#2.css_soup.find_all("p", class_="body")
#3.soup.find_all(href=re.compile("elsie"))

改成

bs.find_all(name=div,class_=re.compile(info_item))
或者
bs.find_all(
div,class_=info_item)

都没有匹配结果,经测试需要bs.find_all(name=div‘,attrs={"class":"footer"})这样以字典的形式给attrs参数赋值才可以。

以上是关于BeautifulSoup获取指定class样式的div的主要内容,如果未能解决你的问题,请参考以下文章

jquery怎么获取下一个具有指定样式(class)的元素呢?

Python beautifulsoup 获取标签中的值 怎么获取?

怎么使用beautifulsoup获取指定div标签内容

用bs4怎么获取指定class下面的a标签,例如class=img,下面有a href=,我想获取这个class下面的a标签href?

jquery 选中文本框 jquery 文本框样式 jquery 改变样式

JQuery第三天——大纲待更新