2017-06-15 165 views
1

我得到了csv文件與衆多的網址。爲了方便起見,我將它讀入了一個熊貓數據框。以後我需要做一些統計工作 - 熊貓只是方便的。它看起來有點像這樣:用python 3抓取多​​個網頁?

import pandas as pd 
csv = [{"URLs" : "www.mercedes-benz.de", "electric" : 1}, {"URLs" : "www.audi.de", "electric" : 0}] 
df = pd.DataFrame(csv) 

我的任務是檢查網站中包含特定字符串,如果是用1添加一個額外的列,和別的0。例如:我想檢查,其中包含字符串car

import requests 
page_content = requests.get("www.mercedes-benz.de") 
if "car" in page_content.text: 
    print ('1') 
else: 
    print ('0') 

我如何通過pd.URLs迭代/循環和存儲在數據框大熊貓的信息?

回答

2

我覺得你DataFrame.iterrows需要通過數據環路,然後用loc創造新的價值:

for i, row in df.iterrows(): 
    page_content = requests.get(row['URLs']) 
    if "car" in page_content.text: 
     df.loc[i, 'car'] = '1' 
    else: 
     df.loc[i, 'car'] = '0' 

print (df) 
          URLs electric car 
0 http://www.mercedes-benz.de   1 1 
1   http://www.audi.de   0 1 
+0

一個跟進:如果get請求失敗 - 例如當URL丟失或錯誤時,是否可以保持循環運行? @jezrael – Rachel

+0

對我來說很困難,但在python中注意了一些無聲的錯誤處理。我從不使用它,所以我不能給你一些好的建議。抱歉。如果仍然存在問題,也許嘗試其他問題 – jezrael