我正在尝试用python从网站中提取数据


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 列表并处理每个 url。每个 URL 都是指向文章的链接。我正在获取文章的重要属性,例如作者,文本等,然后将其存储在数据框中。之后,我正在将数据框转换为 csv 文件。该脚本运行了大约 5 个小时,因为url_list中有 589 个 URL。但我仍然无法获得csv文件。有人能指出我哪里出错了吗?

可能你的函数停在这里:

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)

假设这是你的整个程序,你需要从转换中返回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)

相关内容

  • 没有找到相关文章

最新更新