Python 3.6 NameError: name 'x' is not defined

Python 3.6 NameError: name 'x' is not defined

我是 python 的新手。当我 运行 这段代码时,我得到一个 NameEror。我没有使用任何类型的 input() 或变量类型选择等。

我前一天晚上 运行 有同样的凭据,没有任何问题!

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'])

该网页的DOM与其他网页不一样。结果 'code' x = (link.find_all('span')[0]) 'code' 有任何价值。因此 NameError.

(见评论)

从昨天到今天发生了什么变化? URL 列表。这就是代码昨天 运行 而不是今天 运行 的原因。

可以通过适当的错误处理改进代码。