Python3:如何将短脚本中的信息存储在CSV文件中?

时间:2016-03-21 18:24:50

标签: python csv python-3.x web-scraping

我有一个脚本可以在Google上搜索Lil Wayne文章,然后 - 每篇文章 - 返回标题,摘要,网址和关键字。

但我真的想制作一个包含TITLE,SUMMARY,URL,KEYWORDS作为列的CSV文件,然后存储每行中每篇文章的相关信息。

from newspaper import Article 
import google 

#Search Setup
for url in google.search('Lil Wayne', num=10, stop=3, pause=0):
    article = Article(url)      
    article.download() 
    article.parse()
    article.nlp()     


    #Print the parsed output of each article
    print(u'TITLE: ' + str(article.title.encode('ascii', 'ignore')))
    print(u'SUMMARY: ' + str(article.summary.encode('ascii', 'ignore')))
    print(u'URL: ' + str(article.url))
    print(u'KEYWORDS: ' + str(article.keywords)) 
    print("\n")

1 个答案:

答案 0 :(得分:2)

您可以在代码中使用类似的内容:

from newspaper import Article 
import google 

with open('output_file.csv', 'wb') as csvfile:
    lil_wayne_writer = csv.writer(csvfile)

    #Search Setup
    for url in google.search('Lil Wayne', num=10, stop=3, pause=0):
        article = Article(url)      
        article.download() 
        article.parse()
        article.nlp()
        lil_wayne_writer.writerow(
            [
                str(article.title.encode('ascii', 'ignore')),
                str(article.summary.encode('ascii', 'ignore')),
                str(article.url),
                str(article.keywords),
            ]
        )

这基本上会打开一个csv编写器,然后在找到文章时写下每一行。有关csv writers in the python docs

的更多信息

您可能需要对其进行一些编辑才能在您的环境中正常运行。

如果您想将标题写入CSV文件,只需将一个调用添加到以下内容中即可:

lil_wayne_writer.writerow(['TITLE', 'SUMMARY', 'URL', 'KEYWORDS'])