2015-01-28 3 views
0

Я пытаюсь загрузить блок html в таблицу MySQL, и я получаю сообщение об ошибке, но это немного запутанно, где проблема точно. Код выглядит следующим образом (это не весь код, только область конфликта):Python Google API build

from mysql import connector 
import time 

def send(self, config, query, queryData): 
    cnx = connector.connect(**config) 
    cursor = cnx.cursor() 
    cursor.execute(query, queryData) 
    cursor.close() 
    cnx.close() 

#this grabs the list of the succesfulyCapturedPackages and uploads to the wp_posts table. 
def upload(self): 
    txtdate = time.strftime("%m-%d-%Y") 
    for pkg in self.succesfullyCaptured: 
     filename = pkg + ".html" 
     with open(filename,'r') as f: 
      package_post = f.read() 
     current_timestamp = time.strftime('%Y-%m-%d %H:%M:%S') 
     trimmed_package_name = pkg.lower() 
     trimmed_package_name = trimmed_package_name.replace(" ","-") 
     tup = self.fetch(self.configExternalDB,"SELECT MAX(ID) from wp_posts") 
     webURL = "http://www.AWORDPRESSSITE.com/?p=" + str(int(tup[0][0]) + 1) 
     package_post = connector.conversion.MySQLConverter().escape(package_post) 

     add_pkg_data = ("INSERT INTO wp_posts (post_author, post_date," 
      "post_date_gmt, post_content, post_title, post_status," 
      "comment_status, ping_status, post_name, " 
      "post_modified, post_modified_gmt, " 
      "post_parent, guid, menu_order, post_type, " 
      "comment_count) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, " 
      "%s, %s, %s, %s, %s, %s, %s,)") 

     data_pkg = (1, current_timestamp, current_timestamp, package_post, 
      pkg, 'draft', 'open', 'open', trimmed_package_name, 
      current_timestamp, current_timestamp, 0, webURL, 0, 'post', 0) 

     self.send(self.configExternalDB , add_pkg_data, data_pkg) 

Теперь то, что я получаю следующее:

mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 

BTW в HTML блоков I» м пытается захватить выглядело примерно так:

<h5><span lang=\"ES-MX\"> text text text $ 1000 USD + 755.00 text text días</span></h5>\n<h6><span lang=\"ES-MX\">Text: Text/Text/Text/Text</span></h6>\n<!--more--><span style=\"font-weight: 600; color: #222222;\">[google-map-v3 shortcodeid=\"TO_BE_GENERATED\" width=\"100%\" height=\"350\" zoom=\"12\" maptype=\"roadmap\" mapalign=\"center\" directionhint=\"false\" language=\"default\" poweredby=\"false\" maptypecontrol=\"true\" pancontrol=\"true\" zoomcontrol=\"true\" scalecontrol=\"true\" streetviewcontrol=\"true\" scrollwheelcontrol=\"false\" draggable=\"true\" tiltfourtyfive=\"false\" enablegeolocationmarker=\"false\" enablemarkerclustering=\"false\" addmarkermashup=\"false\" addmarkermashupbubble=\"false\" addmarkerlist=\" Buenos Aires{}1-default.png|Iguazu{}1-default.png|Bariloche{}1-default.png|Santiago{}1-default.png|\" bubbleautopan=\"true\" distanceunits=\"miles\" showbike=\"false\" showtraffic=\"false\" showpanoramio=\"false\"]</span>\n<h2>TEXT</h2>\n<address>*TEXT</address>\n

... Кроме большого (больше html текста).

Так что я не уверен в этом, если символы HTML не сбрасываются правильно или если что-то где-то отсутствует.

Как всегда, помощь очень ценится. :)

ответ

1

Попробуйте это:

add_pkg_data = ("INSERT INTO wp_posts (post_author, post_date," 
     "post_date_gmt, post_content, post_title, post_status," 
     "comment_status, ping_status, post_name, " 
     "post_modified, post_modified_gmt, " 
     "post_parent, guid, menu_order, post_type, " 
     "comment_count) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, " 
     "%s, %s, %s, %s, %s, %s, %s)") 

Не уверен, что вам нужна запятая после окончательного %s.

+0

Это сработало! Хахаха, здесь очень поздно ... Большое спасибо. :) – MrWolf

Смежные вопросы