2016-11-18 39 views
0

我使用這個代碼目前刮一組值從一個網站:轉換值的列表到數組

#import libraries 
import requests 
from bs4 import BeautifulSoup 
import numpy as np 

     for reviewtype in soup2.findAll('div', {'row_label'}): 
      if 'Excellent' or 'Very Good' or 'Average' or 'Poor' or 'Terrible' in reviewtype.text: 
       reviewtype.text.strip() 
       reviewbar = reviewtype.findNext('span') 
       reviewfill = reviewbar.findNext('span') 
       reviewnum = reviewfill.findNext('span') 
       reviewnumlist = reviewnum.text.encode('ascii', 'ignore').strip().split(r'</span>') 
       print np.array(reviewnumlist) 

它拉像這樣的數據:

['254'] 
['30'] 
['5'] 
['5'] 
['2'] 

我想它出來是這樣的:

['254'], ['30'], ['5'], ['5'], ['2'] 

但我目前的方法不起作用。任何見解都會有所幫助

回答

0

創建一個空列表,附加相關項目並在最後添加print,而不是在forloop中單獨打印對象。

#import libraries 
import requests 
from bs4 import BeautifulSoup 
import numpy as np 

result = [] 
for reviewtype in soup2.findAll('div', {'row_label'}): 
    if 'Excellent' or 'Very Good' or 'Average' or 'Poor' or 'Terrible' in reviewtype.text: 
     reviewtype.text.strip() 
     reviewbar = reviewtype.findNext('span') 
     reviewfill = reviewbar.findNext('span') 
     reviewnum = reviewfill.findNext('span') 
     reviewnumlist = reviewnum.text.encode('ascii', 'ignore').strip().split(r'</span>') 
     result.append(revirenumlist) 
print result