学习目标:

运用scrapy框架

将爬取的数据保存到数据库


学习内容:

1、掌握 python基本语法

2、运用pychrame开发环境
3、 获取数据

4、保存到数据库


学习时间:

1、 周一至周五晚上 7 点—晚上9点
2、 周六上午 9 点-上午 11 点
3、 周日下午 3 点-下午 6 点


学习产出:

大家好丫!我是honey,我今天想要和大家分享一下我大二实训是所搞的项目。嘿嘿就是爬取网站的数据。我想分享一下我的代码。

大家应该都知道scrapy框架吧,这个框架用来爬虫真的是绝绝子,首先在setting里面对所要运用的函数进行设置。

这里我就只贴出数据库的设置,其他该打开的我就不细说了哈,大家都会。

#数据库的相关设置
MYSQL_HOST = '127.0.0.1'
MYSQL_USER = 'root'
MYSQL_PASSWORD = '1234'
MYSQL_DATABASE = 'liepin_job'
MYSQL_TABLE_NAME = 'liepin_job'
#我的use_agent

2.在items中定义所需要的参数

import scrapyclass LiepinspiderItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()positionName = scrapy.Field()  # 职位名companyName = scrapy.Field()  # 公司名salary = scrapy.Field()  # 薪资jobMsg = scrapy.Field()  # 工作信息positionMsg = scrapy.Field()  # 职位信息address = scrapy.Field()  # 工作地址link = scrapy.Field()  # 工作详情连接

3.在pipelines中写爬取网站的代码

from itemadapter import ItemAdapterimport pymysql
import re
class MysqlPipeline(object):# from_crawler 中的参数crawler表示这个项目本身# 通过crawler.settings.get可以读取settings.py文件中的配置信息@classmethoddef from_crawler(cls, crawler):cls.host = crawler.settings.get('MYSQL_HOST')cls.user = crawler.settings.get('MYSQL_USER')cls.password = crawler.settings.get('MYSQL_PASSWORD')cls.database = crawler.settings.get('MYSQL_DATABASE')cls.table_name = crawler.settings.get('MYSQL_TABLE_NAME')return cls()# open_spider表示在爬虫开启的时候调用此方法(如开启数据库)def open_spider(self, spider):# 连接数据库# self.db = pymysql.connect(self.host, self.user, self.password, self.database, charset='utf8')self.db = pymysql.connect(host="127.0.0.1", user="root", password="1234", database="liepin_job",charset="utf8mb4")self.cursor = self.db.cursor()def process_item(self, item, spider):# 向表中插入爬取的数据  先转化成字典data = dict(item)table_name = self.table_namekeys = ','.join(data.keys())values = ','.join(['%s'] * len(data))sql = 'insert into %s (%s) values (%s)' % (table_name, keys, values)self.cursor.execute(sql, tuple(data.values()))self.db.commit()return itemclass GetLiepinPipeline(object):def table_exists(self, con, table_name):  # 这个函数用来判断数据表是否存在sql = "show tables;"con.execute(sql)tables = [con.fetchall()]table_list = re.findall('(\'.*?\')', str(tables))table_list = [re.sub("'", '', each) for each in table_list]if table_name in table_list:return 1else:return 0
class StripPipeline(object):def process_item(self, item, job_detail):item['jobMsg'] = ''.join([i.strip() for i in item['jobMsg']]).strip()item['positionMsg'] = ''.join([i.replace('\r\n', '') for i in item['positionMsg']]).strip()return item

运用scrapy爬取智联网相关推荐

  1. scrapy爬取智联招聘

    我想分析下互联网行业全国招聘实习生的情况,通过爬取智联招聘,得到15467条数据,并导入Mysql 在items.py里: import scrapy from scrapy.http import ...

  2. python3 scrapy爬取智联招聘存mongodb

    写在前面,这次写智联招聘的爬虫是其次,主要的是通过智联招聘上的数据信息弄一个数据挖掘的小项目,这一篇主要是如何一气呵成的将智联招聘上的招聘信息给爬下来 (一)scrapy框架的使用 scrapy框架是 ...

  3. Python利用Scrapy爬取智联招聘和前程无忧的招聘数据

    爬虫起因   前面两个星期,利用周末的时间尝试和了解了一下Python爬虫,紧接着就开始用Scrapy框架做了一些小的爬虫,不过,由于最近一段时间的迷茫,和处于对职业生涯的规划.以及对市场需求的分析, ...

  4. scrapy 智联 mysql_Python利用Scrapy爬取智联招聘和前程无忧的招聘数据

    爬虫起因 前面两个星期,利用周末的时间尝试和了解了一下Python爬虫,紧接着就开始用Scrapy框架做了一些小的爬虫,不过,由于最近一段时间的迷茫,和处于对职业生涯的规划.以及对市场需求的分析,我通 ...

  5. python scrapy爬取智联招聘的公司和职位信息(一)

    这个帖子先暂时放弃.本以为和拉钩一样全是静态页面,结果在写item的时候,发现网页有点意思,突然有个大胆的想法,想试试-先埋坑,后面在填坑 缘由: 最近在找工作发现智联和51上太多培训机构的虚假招聘信 ...

  6. scrapy爬取智联招聘,MongoDB存储数据

    一.项目目录结构 二.模块划分 1.settings # -*- coding: utf-8 -*-# Scrapy settings for zhilian project # # For simp ...

  7. python scrapy爬取智联招聘全站的公司和职位信息(二)

    从网页中提取相关信息 **公司页面**: 公司的url,公司名称,规模,行业,在招岗位数量,邀面试数 1. 在scrapy shell中调试 在terminal/CMD中输入 scrapy shell ...

  8. Scrapy学习——爬取智联招聘网站案例

    Scrapy学习--爬取智联招聘网站案例 安装scrapy 下载 安装 准备 分析 代码 结果 安装scrapy 如果直接使用pip安装会在安装Twisted报错,所以我们需要手动安装. 下载 安装s ...

  9. 克服反爬虫机制爬取智联招聘网站

    一.实验内容 1.爬取网站: 智联招聘网站(https://www.zhaopin.com/) 2.网站的反爬虫机制:     在我频繁爬取智联招聘网站之后,它会出现以下文字(尽管我已经控制了爬虫的爬 ...

最新文章

  1. Python入门100题 | 第038题
  2. cat 常用的日志分析架构方案_芯片失效分析常用方法及解决方案
  3. iOS之性能优化·优化App界面的渲染与流畅度
  4. python 之 XML的基本应用总结
  5. java内存四大区,jvm基础-内存区域
  6. Codeforces Round #147 (Div. 2) E. Build String 最小费用最大流
  7. Win7 64 NVMe驱动安装
  8. [玩转BLE]瑞昱RTL8762CMF蓝牙5.0(烧录篇)
  9. ILSVRC2012百度云下载及软链接设置
  10. [2021年新鲜出炉]K8s工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料
  11. FUP AMD300-27便携式拉曼食品安全分析仪 检测微痕量农兽药残留 非法添加
  12. kindle3nbsp;注册地址,美国地址…
  13. Android反编译锁机文件
  14. iOS 应用签名原理
  15. java arthas使用
  16. 一、webpack的全局安装和局部安装以及使用
  17. 女程序员职业生涯发展
  18. CentOS6云服务器磁盘扩容方案
  19. 小米笔记本电脑故障——USB口拷贝文件中断/电池在低温时无输出
  20. matlab符号表达式vpa,对MATLAB中符号和数值型数据以及sym(),sym(''),sym(,'d'),vpa()的理解【更新版】...

热门文章

  1. SOA and Agile: 是朋友还是敌人
  2. 报到证 大学报到证 研究生报到证
  3. 机械键盘键帽1u尺寸
  4. 时间序列的反向传播算法(BPTT)
  5. python创业项目_程序员创业前要做哪些准备?
  6. eNSP-VRRP虚拟路由器冗余技术
  7. APP Inventor入门
  8. 什么是堆和栈,它们在哪儿?
  9. 设备描述符请求失败 usb无法使用_干货|标准仪器设备接口之USBTMC
  10. C++:创建链表的过程详解