2017-05-24 110 views
-2

我是python的新手。當我運行這段代碼時,我得到一個NameError。我沒有使用任何類型的輸入()或變量類型選擇等。Python 3.6 NameError:name'x'is not defined

我在前一天晚上沒有任何問題地運行相同的腳本!

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列表。這就是代碼昨天運行而今天沒有運行的原因。

通過適當的錯誤處理可以改進代碼。