#!/usr/bin/env python
# coding:utf-8
from bs4 import BeautifulSoup
#这个data 可以替换成你的 div=soup.find_all('div',class_="star")
#取的时候 记得循环处理
data = '''
1
2
3
4
'''
soup = BeautifulSoup(data, 'lxml')
spans = soup.find_all('span')
span_content=[]
for i in spans:
print i ,i.text #这里取标签span的内容
span_content.append(i.text)
print span_content
------------------------
1 1
2 2
3 3
4 4
[u'1', u'2', u'3', u'4']
div=soup.find_all('div',class_="star") #此时已经将标签为div,class=star的所有内容列出
你可以在这个数据的基础上,再进行一次find_all来进行查找标签。
例:
for k in soup.find_all('div',class_="star"):
cont=k.find_all('span') #将第一步find_all出来的值再进行find_all
print(cont[0].string) #由于一个div标签里有四个'span',所以是列表形式cont[0],取第几个值就看你的需求了。
我也是新手,纯交流。
items = soup.find_all(class_='star')
for item in items :
t1 = item.find(class_='rating5-t')
num = item.find(class_='rating_num')
be1=item.find(proprety)
be2 = item.find(prperty='v.best')
print(t1.text,'\n',num.text,'\n',be1.text,'\n',be2.text,'\n',)
仅供参考
用for,找了好久才找到解决办法