2017-06-15 12 views
1

私は多数のURLを持つcsv-fileを手に入れました。私はそれを便宜のためにパンダのデータフレームに読みました。私は後でいくつかの統計作業をする必要があります - そしてパンダはちょうど便利です。それは少しのようになります。Webは複数のページを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という文字列を含むwww.mercedes-benz.deをチェックしたいとします。私はpd.URLsを通じて/ループを反復処理し、パンダのデータフレームに情報を格納するにはどうすればよい

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

答えて

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

Aフォローアップ:GETリクエストが失敗した場合 - 例えばURLがないか間違っている場合、ループを実行し続けることは可能ですか? @jezrael – Rachel

+0

私のためのハードクエストですが、Pythonで何らかのサイレントエラー処理をしました。私はそれを使用しないので、あなたに良いアドバイスを与えることはできません。ごめんなさい。まだ問題がある場合は別の質問をしてみてください。 – jezrael

関連する問題