使用 python 将 rss 提要导入 MySQL 数据库

import rss feeds into MySQL database using python

我正在尝试使用 python 将提要导入到托管在 pythoneverywhere 上的 Mysql 数据库中,但我似乎无法让它工作。这是我正在使用的代码。

import MySQLdb
import feedparser

myfeed = feedparser.parse("http://www.couponchief.com/rss/")

for item in myfeed['items']:
        title = item.title
        link = item.link
        description = item.description
        print title
        print link
        print description

        db =                                                  
        MySQLdb.connect('mysql.server','lesmun','*******','lesmun$default');

        with db:

            cur = db.cursor()
            cur.execute("INSERT INTO ini(title, link, description)VALUES(%s,          
            %s, %s)", (title,link,description))
            print 'Succesfull!'


# close the cursor
            cur.close()

# close the connection
        db.close ()

有什么建议吗?

可能您使用的是旧版本的 MySQLdb,它不支持自动提交事务的上下文管理器。

您可以升级到最新版本,make your own,或者您可以在关闭连接之前显式调用 db.commit()

此外,没有必要(或不需要)为您插入的每一行建立到数据库的新连接和创建新游标。你的代码最好这样写:

import MySQLdb
import feedparser

myfeed = feedparser.parse("http://www.couponchief.com/rss/")

# get connection and cursor upfront, before entering loop
with MySQLdb.connect('mysql.server','lesmun','*******','lesmun$default') as db:
    cur = db.cursor()

    for item in myfeed['items']:
        title = item.title
        link = item.link
        description = item.description
        print title
        print link
        print description

        cur.execute("INSERT INTO ini (title, link, description) VALUES (%s, %s, %s)", (title, link, description))
        print 'Succesfull!'

#    db.commit()    # for older MySQLdb drivers