Scrapy——將數據保存到MySQL數據庫

1. 在MySQL中創建數據庫表job_inf:

 1 Create table job_inf(
2 id int(11) not null auto_increment primary key,
3 title varchar(255),
4 salary varchar(255),
5 company varchar(255),
6 url varchar(500),
7 work_addr varchar(255),
8 industry varchar(255),
9 company_size varchar(255),
10 recruiter varchar(255),
11 publish_date varchar(255)
12
13 )

2. 在scrapy項目中將Pipeline文件修改如下:

 1 import mysql.connector
2
3
4 class ZhipinspiderPipeline(object):
5 #定義構造器,初始化要寫入的文件
6 def __init__(self):
7 self.conn=mysql.connector.connect(user='root',password='12345',
8 host='localhost',port='1006',database='mypython',use_unicode=True)
9 self.cur=self.conn.cursor()
10
11 #重寫close_spider回調方法,用於關閉數據庫資源
12 def close_spider(self,spider):
13 print('------close database connection------------')
14 #關閉游標
15 self.cur.close()
16 #關閉連接
17 self.conn.close()
18
19 def process_item(self,item,spider):
20 #使用execute方法將item對象中的信息插入數據庫中
21 self.cur.execute('INSERT INTO job_inf Values(null,%s,%s,%s,%s,%s,%s,%s,%s,%s,)',(item['title'],item['salary'],item['company'],item['url'],item['work_addr'],item['indeustry'],item.get('company_size'],item['recruiter'],item['publish_date'])))
22 self.conn.commit()
 

最新文章

  1. 【.NET深呼吸】如何反序列化动态JSON
  2. ASCII 计算机码
  3. strace追踪mysql执行语句
  4. 编写Shader时的一些性能考虑
  5. 福利->KVC+Runtime获取类/对象的属性/成员变量/方法/协议并实现字典转模型
  6. 【leetcode】Word Break II
  7. 点餐APP 冲刺一总结
  8. SqlServer之游标深入
  9. C++序列化库的实现
  10. 谷歌地图实现车辆轨迹移动播放(google map api)
  11. MyIsam与InnoDB主要区别
  12. Sequence operation(线段树区间多种操作)
  13. a标签包含块级元素问题
  14. 编写高质量代码改善C#程序的157个建议:第17个建议之多数情况下使用foreach进行循环遍历
  15. 让两个数x,y一直保持互质的模版
  16. node express将请求重定向为https
  17. sublime text 3搭建python
  18. MongoDB基础入门
  19. 十天精通CSS3(11)
  20. IdentityServer3零星笔记

热门文章

  1. Hive中的集合数据类型
  2. 如何在Ubuntu Server 18.04 LTS中配置静态IP地址
  3. Core3.0返回的数据格式xml或json
  4. 【扫盲】i++和++i的区别
  5. RxHttp 完美适配Android 10/11 上传/下载/进度监听
  6. Double 值比较大小 Long值比较大小
  7. 冰河又一MySQL力作出版(文末送书)!!
  8. Redis在存取序列化和反序列化性能问题
  9. 如何在 Linux 系统查询机器最近重启时间
  10. WebService的开发手段