Сложность вставки данных в базу данных MySQL с помощью pymysql

Я написал небольшой скрипт с использованием python3, который получает ленту новостей RSS с помощью библиотеки feedparser.

Затем я перебираю записи (словарь), а затем использую блок try/except для вставки данных в базу данных MySQL с помощью pymysql (первоначально я пытался использовать MySQLDB, но прочитал здесь и в других местах, которые не работают с Python3 или выше)

Первоначально я следовал примеру PyMySQL в git hub, однако это не сработало для меня, и мне пришлось использовать другой синтаксис для pymysql, как здесь, на цифровой океан. Однако это сработало для меня, когда я проверил их пример на их сайте.

Но когда я попытался включить его в свой запрос, произошла ошибка, поскольку он не запускал код в блоке try, а просто каждый раз запускал код исключения.

Вот мой код;

#! /usr/bin/python3

# web_scraper.py 1st part of the project, to get the data from the 
# websites and store it in a mysql database

import cgitb
cgitb.enable()

import requests,feedparser,pprint,pymysql,datetime
from bs4 import BeautifulSoup
conn = pymysql.connect(host="localhost",user="root",password="pass",db="stories",charset="utf8mb4")
c = conn.cursor()

def adbNews():
    url = 'http://feeds.feedburner.com/adb_news'
    d = feedparser.parse(url)
    articles = d['entries']
    for article in articles:
        dt_obj = datetime.datetime.strptime(article.published,"%Y-%m-%d %H:%M:%S")
        try:
           sql = "INSERT INTO articles(article_title,article_desc,article_link,article_date) VALUES (%s,%s,%s,%s,%s)"
           c.execute(sql,(article.title, article.summary,article.link,dt_obj.strftime('%Y-%m-%d %H:%M:%S'),))
         conn.commit()
        except Exception:
            print("Not working")


adbNews()

Я не совсем уверен, что я делаю неправильно. Я преобразовал строку так, чтобы она соответствовала формату типа MySQL DATETIME. Поскольку у меня изначально этого не было, но каждый раз, когда я запускаю программу, в БД ничего не сохраняется, и исключение печатается.

РЕДАКТИРОВАТЬ:

Прочитав комментарии Дэниела Роузмана, я удалил блок try/except и прочитал ошибки, которые мне выдал python. Это было связано с дополнительным аргументом в моем sql-запросе.

Вот он отредактировал рабочий код;

#! /usr/bin/python3

# web_scraper.py 1st part of the project, to get the data from the 
# websites and store it in a mysql database

import cgitb
cgitb.enable()

import requests,feedparser,pprint,pymysql,datetime
from bs4 import BeautifulSoup
conn = pymysql.connect(host="localhost",user="root",password="pass",db="stories",charset="utf8mb4")
c = conn.cursor()

def adbNews():
    url = 'http://feeds.feedburner.com/adb_news'
    d = feedparser.parse(url)
    articles = d['entries']
    for article in articles:
        dt_obj = datetime.datetime.strptime(article.published,"%Y-%m-%d %H:%M:%S")
        #extra argument was here removed now
        sql = "INSERT INTO articles(article_title,article_desc,article_link,article_date) VALUES (%s,%s,%s,%s)"
        c.execute(sql,(article.title, article.summary,article.link,dt_obj.strftime('%Y-%m-%d %H:%M:%S'),))
        conn.commit()

adbNews()

person mp252    schedule 17.01.2017    source источник
comment
Никогда не используйте фразы типа не работает, есть ошибка и т. д. Укажите точную проблему.   -  person e4c5    schedule 17.01.2017
comment
В вашем случае вы не можете узнать точную ошибку из-за крайне плохой обработки исключений. Не ловите такие широкие исключения. если вы сделаете хотя бы import traceback; traceback.print_exec()   -  person e4c5    schedule 17.01.2017
comment
@e4c5 Отредактировал фразу, надеюсь, теперь стало лучше? Сейчас попробую что-нибудь с обработкой исключений.   -  person mp252    schedule 17.01.2017
comment
В вашем случае вы не можете узнать точную ошибку из-за крайне плохой обработки исключений. Не ловите такие широкие исключения. если вы хотя бы импортируете трассировку; traceback.print_exec()   -  person e4c5    schedule 17.01.2017
comment
Или просто полностью удалите try/except, и пусть Python сообщит вам, что не так.   -  person Daniel Roseman    schedule 17.01.2017
comment
@DanielRoseman Это сработало, у меня был дополнительный аргумент в моем sql-запросе, который внесет изменения выше.   -  person mp252    schedule 17.01.2017
comment
это может работать, но ваш код все еще полностью сломан   -  person e4c5    schedule 17.01.2017
comment
@ e4c5 Что мне нужно исправить?   -  person mp252    schedule 17.01.2017
comment
Измените кроме на except Exception as e. Затем print("%s : %s" % (type(e), e.args)) . Даже простое raise лучше, чем ваш тупой шрифт.   -  person mootmoot    schedule 17.01.2017
comment
Я удалил блок try-except, как было предложено Дэниелом Роузманом. Позже я добавлю лучшее исключение, но сначала нужно прочитать о них немного больше, чтобы понять их.   -  person mp252    schedule 17.01.2017