def convert():
for url in url_list:
news=Article(url)
news.download()
while news.download_state != 2:
time.sleep(1)
news.parse()
l.append(
{'Title':news.title, 'Text': news.text.replace('\n',' '), 'Date':news.publish_date, 'Author':news.authors}
)
convert()
df = pd.DataFrame.from_dict(l)
df.to_csv('Amazon_try2'+'.csv',encoding='utf-8', index=False)
函数convert()遍历url列表并处理它们中的每一个。每个网址都是文章的链接。我正在获取作者,文本等文章的重要属性,然后将其存储在数据框中。之后,我将数据帧转换为csv文件。该脚本运行了大约5个小时,因为url_list中有589个url。但我仍然无法获得csv文件。有人能看出我出错的地方。
答案 0 :(得分:0)
假设这是你的整个程序,你需要从convert返回l。
def convert():
for url in url_list:
news=Article(url)
news.download()
while news.download_state != 2:
time.sleep(1)
news.parse()
l.append(
{'Title':news.title, 'Text': news.text.replace('\n',' '), 'Date':news.publish_date, 'Author':news.authors}
)
return l
l = convert()
df = pd.DataFrame.from_dict(l)
df.to_csv('Amazon_try2'+'.csv',encoding='utf-8', index=False)
答案 1 :(得分:0)
可能你的功能在此处停止:
while news.download_state != 2:
time.sleep(1)
它正在等待下载状态的更改,但它永远不会发生。你的函数也应该返回一个列表
这样的事情应该有效:
def convert():
for url in url_list:
news=Article(url)
news.download()
news.parse()
l.append(
{'Title':news.title, 'Text': news.text.replace('\n',' '), 'Date':news.publish_date, 'Author':news.authors}
)
return l
l = convert()
df = pd.DataFrame.from_dict(l)
df.to_csv('Amazon_try2'+'.csv',encoding='utf-8', index=False)