2017-10-05 35 views
2

我有以下代碼:加載網頁抓取結果爲大熊貓數據幀

sauce = urllib.request.urlopen('https://www.iproperty.com.my/sale/selangor/all-commercial/?q=UOA%20Business%20Park').read() 
soup = bs.BeautifulSoup(sauce,'html.parser') 

price = soup.find_all('ul',class_='listing-primary-price jMWEse') 

BUA = soup.find_all('li',class_='attributes-price-per-unit-size-item builtUp-attr fsbnan') 


for data in price: 
    Price = data.text 
    print(Price) 

for data in BUA: 
    BUA = data.text 
    print(BUA) 

打印價格BUA給了我下面的結果:

Price: 
RM 1,067,490 
RM 2,246,160 
RM 929,160 
RM 1,321,000 
RM 103,840,000 

BUA: 
Built-up : 1,227 sq. ft.Built-up : 1,227 sq. ft. 
Built-up : 2,292 sq. ft.Built-up : 2,292 sq. ft. 
Built-up : 1,044 sq. ft.Built-up : 1,044 sq. ft. 
Built-up : 1,335 sq. ft.Built-up : 1,335 sq. ft. 
Built-up : 118,000 sq. ft.Built-up : 118,000 sq. ft. 

我的問題是,如何能我加載價格BUA成熊貓數據框,因爲我想加入這兩個他們喜歡的東西打印的最終結果:

Price:    BUA:   
0 RM 1,067,490  Built-up : 1,227 sq. ft.Built-up : 1,227 sq. ft. 
1 RM 2,246,160  Built-up : 2,292 sq. ft.Built-up : 2,292 sq. ft. 
2 RM 929,160   Built-up : 1,044 sq. ft.Built-up : 1,044 sq. ft. 
3 RM 1,321,000  Built-up : 1,335 sq. ft.Built-up : 1,335 sq. ft. 
4 RM 103,840,000  Built-up : 118,000 sq. ft.Built-up : 118,000 sq. ft. 

另一個原因,我想將它們放到一個熊貓數據幀是因爲我需要做在Excel中一些計算以後。

回答

1

我相信你需要:

a = [data.text for data in price] 
b = [data.text for data in BUA] 

df = pd.DataFrame({'price':a, 'BUA':b}, columns=['price','BUA']) 
+1

工作得很好!謝謝! –

0
df = pd.DataFrame() 
    df['price'] = [data.text for data in price] 
    df['bua'] = [data.text for data in bua]