首页 > 其他 > 详细

BeautifulSoup获取指定class样式的div

时间:2016-03-23 17:06:20      阅读:352      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!