Advertisement
Guest User

pipelines

a guest
Aug 2nd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.27 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. # Define your item pipelines here
  4. #
  5. # Don't forget to add your pipeline to the ITEM_PIPELINES setting
  6. # See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html
  7.  
  8. import MySQLdb
  9. from MySQLdb import Error as MysqlError
  10. import logging
  11.  
  12.  
  13. db_host = '127.0.0.1'
  14. db_user = 'root'
  15. db_password = 'root'
  16. db_name = 'amazondb'
  17. db_charset = 'utf8mb4'
  18. logger = logging.getLogger(__name__)
  19.  
  20.  
  21. class MySQLPipeline(object):
  22.     def process_item(self, item, spider):
  23.         conn = MySQLdb.connect(db_host, db_user, db_password, db_name, charset="utf8mb4", use_unicode=True)
  24.         cursor = conn.cursor()
  25.         table_name = 'product_tracker'
  26.         try:
  27.             placeholder = ", ".join(["%s"] * len(item))
  28.             statement = "INSERT INTO {table} ({columns}) VALUES ({values})".format(table=table_name,
  29.                                                                                    columns=",".join(item.keys()),
  30.                                                                                    values=placeholder)
  31.             cursor.execute(statement, list(item.values()))
  32.             conn.commit()
  33.         except MysqlError as e:
  34.             logger.error("Error %d: %s" % (e.args[0], e.args[1]))
  35.         conn.close()
  36.         return item
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement