2016-07-23 55 views
0

提取值我有一个网页文件,它看起来像这样: -如何从一类美丽的汤

<table class="table "><col width="75px"></col><col width="1px"></col><tbody><tr class="tablerow style2" prodid="143012"><td class="pricecell"><span class="WebRupee">Rs.</span> 
29 
<br/><font style="font-size:smaller;font-weight:normal"> 
3 days 
</font></td><td class="spacer"></td><td class="detailcell"><span><span class="label label-default" style="background-color:#3cb521;color:#fff;border:1px solid #3cb521">FULL TT</span>  
</span><span><span class="label label-default" style="background-color:#fff;color:#0c7abc;border:1px solid #0c7abc">SMS</span>  
</span><div style="padding-top:5px"> 
29 

Full Talktime 
</div><div class="detailtext"> 5 Local A2A SMS valid for 1 day </div></td></tr><tr class="tablerow style2" prodid="127535"><td class="pricecell"><span class="WebRupee">Rs.</span> 
59 
<br/><font style="font-size:smaller;font-weight:normal"> 
7 days 
</font></td><td class="spacer"></td><td class="detailcell"><span><span class="label label-default" style="background-color:#3cb521;color:#fff;border:1px solid #3cb521">FULL TT</span>  
</span><span><span class="label label-default" style="background-color:#fff;color:#0c7abc;border:1px solid #0c7abc">SMS</span>  
</span><div style="padding-top:5px"> 
59 

Full Talktime 
</div><div class="detailtext"> 10 A2A SMS valid for 2 days </div></td></tr><tr class="tablerow style2" prodid="143025"><td class="pricecell"><span class="WebRupee">Rs.</span> 
99 
<br/><font style="font-size:smaller;font-weight:normal"> 
12 days 
</font></td><td class="spacer"></td><td class="detailcell"><span><span class="label label-default" style="background-color:#3cb521;color:#fff;border:1px solid #3cb521">FULL TT</span>  
</span><div style="padding-top:5px"> 
99 

Full Talktime 
</div><div class="detailtext"> 10 Local A2A SMS for 2 days only </div> 

I want the values 29, 3 days,29 full talktime, 59, 7 days,59 full talktime etc.

,但我得到了整个文档,如果我尝试在脚本下面。

from bs4 import BeautifulSoup 
import requests 

r = requests.get("http://www.ireff.in/plans/airtel/karnataka") 

data = r.text 

soup = BeautifulSoup(data,"html.parser") 

table = soup.find('table',{'class':'table'}) 
print(table) 

我在哪里出错了? 我想获得这些值具体。

或者如果表可以转换为json数组,那也是有帮助的。

回答

1

您需要深入挖掘以获取您所需的特定数据。例如,要获取价格,请搜索类“pricecell”的表格单元格。然后你可以得到包含的文本,并解析它。一些示例代码(未测试):

price_cells = soup.findAll('td', {'class': 'pricecell'}) 
for price_cell in price_cells: 
    print(price_cell.text) 
+0

的findall不存在,它的findAll,如果使用的findAll,脚本不起作用,此代码的工作,请给我一些时间来接受答案 – penta