2017-05-24 35 views
-2

私はPythonの初心者です。私はこのコードを実行するとNameErrorを取得しています。私はどんな種類の入力()や変数のタイプの選択などを使用していません。Python 3.6 NameError:名前 'x'が定義されていません

前の夜に問題なく同じスクリプトを実行しました!

import csv 
from bs4 import BeautifulSoup 
import requests 


with open('URLs.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     url = row ['URL'] 
     r = requests.get(url) 

     data = r.text 

     soup = BeautifulSoup(data,"lxml") 

     td = soup.find_all('td', {'class' : 'C($gray) Ta(end)'}) 
     datalist = td 
     #x = None   
     for link in datalist[::-1]: 
      x = (link.find_all('span')[0]) 
     print(x.text, ",",row['Ticker']) 
+0

削除 '#X = NONE'が作るそれ' X = NONE' –

+0

CSV URLを含んでおり、そのtickerTicker、\t URL BSCA、\t https://finance.yahoo.com/quote/BSCA/financials ?p = BSCA – akshay

+1

@StavrosAvramidisそれは彼の問題ではありません。 Pythonでは、ループ内で変数を定義することができます。 –

答えて

0

ウェブページのDOMが他のページと同じではありません。結果として 'code' x =(link.find_all( 'span')[0]) 'code'はどんな値も持っていました。したがって、NameError。今日に昨日から変更何

(コメントを参照してください)

? URLリストこれは、コードが昨日実行されていて、今日実行されていない理由です。

適切なエラー処理を使用してコードを改善することができます。あなたのコードから

関連する問題