无法将python脚本输出导出到相同的csv文件中

时间:2018-08-01 01:02:13

标签: python web-scraping beautifulsoup export-to-csv

#!/usr/bin/python

import requests
from bs4 import BeautifulSoup
import csv


class GetFeeds(object):

  def main(self):
     self.malc0de()
     self.malwaredomainlist()

  def malc0de(self):
     url=requests.get('http://malc0de.com/rss/')
     feed=url.content
     soup=BeautifulSoup(feed,'html.parser')

     with open("feeds_123.csv", "w") as f:
         writer = csv.writer(f, delimiter=";")
         for link in soup.find_all('item'):
           desc = link.find('description').contents 
           formatted_desc = desc[0].split(",") 
           formatted_desc_contents = [cont.split(":")[1] for cont in formatted_desc] 
           print formatted_desc_contents
           writer.writerow(formatted_desc_contents)   

  def malwaredomainlist(self):
    url=requests.get('http://www.malwaredomainlist.com/hostslist/mdl.xml')
    feed2=url.content
    soup=BeautifulSoup(feed2,'html.parser')
    ##print soup.prettify()
    with open("feeds_123.csv", "w") as b:
      writer = csv.writer(b, delimiter=";")
      for link in soup.find_all('item'):
        desc = link.find('description').contents 
        formatted_desc = desc[0].split(",") 
        formatted_desc_contents = [cont.split(":")[1] for cont in formatted_desc]
        print formatted_desc_contents
        writer.writerow(formatted_desc_contents)      

 if __name__ == "__main__":
    o = GetFeeds()
    o.main()

当前,我正在尝试将信息从mac0de和恶意软件域名列表导出到名为feeds_123.csv的同一文件中,但是csv文件仅显示恶意软件域名列表项目,而不同时显示两者。我尝试将其提取到2个不同的文件中,它可以正常工作。我可以知道如何解决该错误并提取到同一文件中吗?

1 个答案:

答案 0 :(得分:0)

您需要以“ a”模式而不是“ w”打开文件,“ a”表示追加并将新内容添加到上一个。 “ w”将清除文件并覆盖其中的所有内容。

相关问题