我的代码 - 打开一个csv文件,其中包含每个包含简历的链接列表,在简历中打印文本,基本情绪和相应的链接 - 仅在某些情况下有效。
最初我认为代码没有用,但事实上确实如此,到目前为止我已经成功地打印了几次,但这种情况很少见。
文件'test.csv'只包含三个链接,非常小。笔记本似乎没在想。
我正在使用Graph Lab Create中的Jupyter笔记本,我已经成功地在我的Microsoft安装和OSX安装上打印出来。现在我在我的Mac上,当我按Shift + Enter时没有任何反应。在没有任何结果的情况下转向[num]之前我得到一个瞬间[*]。
我尝试分成三个单独的单元格并立即执行。它只在代码分成三个单元格后才起作用。
以前有人有这个问题吗?任何建议都可以非常感谢。
Python 2.7
import urllib
from bs4 import BeautifulSoup
from textblob import TextBlob
all_links = open('test.csv', 'r')
for links in all_links:
html = urllib.urlopen(links).read()
soup = BeautifulSoup(html, "lxml")
for script in soup(["script", "style"]):
script.extract()
text = soup.get_text()
lines = (line.strip() for line in text.splitlines())
chunks = (phrase.strip() for line in lines for phrase in line.split(" "))
text = '\n'.join(chunk for chunk in chunks if chunk)
words = text.encode('utf-8')
sent = words.decode('utf-8')
dec_sent = TextBlob(sent)
print links, words, dec_sent.sentiment.polarity
答案 0 :(得分:0)
您的问题可能是因为您在for循环中定义了words
,dec_sent
而在links
中没有定义,但是从以前的单元格中重新使用... < / p>
如果html为空,则循环未运行,因此您没有定义这些变量并且应该出错(或者正在打印先前运行的值)。
重新启动你的jupyter内核并重新执行所有单元格,也可以print locals()
查看已定义的变量。