码迷,mamicode.com
首页 > 其他好文 > 详细

BeautifulSoup获取指定class样式的div

时间:2016-03-23 17:09:09      阅读:11279      评论:0      收藏:0      [点我收藏+]

标签:

如何获取指定的标签的内容是解析网页爬取数据的必要手段,比如想获取<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

标签:

原文地址:http://www.cnblogs.com/aaronhoo/p/5311688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!