运用scrapy爬取智联网
学习目标:
运用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爬取智联网相关推荐
- scrapy爬取智联招聘
我想分析下互联网行业全国招聘实习生的情况,通过爬取智联招聘,得到15467条数据,并导入Mysql 在items.py里: import scrapy from scrapy.http import ...
- python3 scrapy爬取智联招聘存mongodb
写在前面,这次写智联招聘的爬虫是其次,主要的是通过智联招聘上的数据信息弄一个数据挖掘的小项目,这一篇主要是如何一气呵成的将智联招聘上的招聘信息给爬下来 (一)scrapy框架的使用 scrapy框架是 ...
- Python利用Scrapy爬取智联招聘和前程无忧的招聘数据
爬虫起因 前面两个星期,利用周末的时间尝试和了解了一下Python爬虫,紧接着就开始用Scrapy框架做了一些小的爬虫,不过,由于最近一段时间的迷茫,和处于对职业生涯的规划.以及对市场需求的分析, ...
- scrapy 智联 mysql_Python利用Scrapy爬取智联招聘和前程无忧的招聘数据
爬虫起因 前面两个星期,利用周末的时间尝试和了解了一下Python爬虫,紧接着就开始用Scrapy框架做了一些小的爬虫,不过,由于最近一段时间的迷茫,和处于对职业生涯的规划.以及对市场需求的分析,我通 ...
- python scrapy爬取智联招聘的公司和职位信息(一)
这个帖子先暂时放弃.本以为和拉钩一样全是静态页面,结果在写item的时候,发现网页有点意思,突然有个大胆的想法,想试试-先埋坑,后面在填坑 缘由: 最近在找工作发现智联和51上太多培训机构的虚假招聘信 ...
- scrapy爬取智联招聘,MongoDB存储数据
一.项目目录结构 二.模块划分 1.settings # -*- coding: utf-8 -*-# Scrapy settings for zhilian project # # For simp ...
- python scrapy爬取智联招聘全站的公司和职位信息(二)
从网页中提取相关信息 **公司页面**: 公司的url,公司名称,规模,行业,在招岗位数量,邀面试数 1. 在scrapy shell中调试 在terminal/CMD中输入 scrapy shell ...
- Scrapy学习——爬取智联招聘网站案例
Scrapy学习--爬取智联招聘网站案例 安装scrapy 下载 安装 准备 分析 代码 结果 安装scrapy 如果直接使用pip安装会在安装Twisted报错,所以我们需要手动安装. 下载 安装s ...
- 克服反爬虫机制爬取智联招聘网站
一.实验内容 1.爬取网站: 智联招聘网站(https://www.zhaopin.com/) 2.网站的反爬虫机制: 在我频繁爬取智联招聘网站之后,它会出现以下文字(尽管我已经控制了爬虫的爬 ...
最新文章
- Python入门100题 | 第038题
- cat 常用的日志分析架构方案_芯片失效分析常用方法及解决方案
- iOS之性能优化·优化App界面的渲染与流畅度
- python 之 XML的基本应用总结
- java内存四大区,jvm基础-内存区域
- Codeforces Round #147 (Div. 2) E. Build String 最小费用最大流
- Win7 64 NVMe驱动安装
- [玩转BLE]瑞昱RTL8762CMF蓝牙5.0(烧录篇)
- ILSVRC2012百度云下载及软链接设置
- [2021年新鲜出炉]K8s工程师资料合辑,书籍推荐,面试题,精选文章,开源项目,PPT,视频,大厂资料
- FUP AMD300-27便携式拉曼食品安全分析仪 检测微痕量农兽药残留 非法添加
- kindle3nbsp;注册地址,美国地址…
- Android反编译锁机文件
- iOS 应用签名原理
- java arthas使用
- 一、webpack的全局安装和局部安装以及使用
- 女程序员职业生涯发展
- CentOS6云服务器磁盘扩容方案
- 小米笔记本电脑故障——USB口拷贝文件中断/电池在低温时无输出
- matlab符号表达式vpa,对MATLAB中符号和数值型数据以及sym(),sym(''),sym(,'d'),vpa()的理解【更新版】...