Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo

——2shell
什么是 shell
shell终端是一个交互终端,我们可以在未启动的情况下尝试调试代码,也可以用来测试Xpath或CSS表达式 , 查看他们的工作方式,方便我们爬取的网页中提取数据
内置选择器:
xpah():传入xpath表达式 , 返回该方法所对应的所有节点的 list列表():序列化该节点为字符串并返回list / ()css():传入CSS表达式 , 返回该表达式所对用的所有的节点的 list 列表,语法同():根据传入的正则表达式对数据进行提?。?返回字符串list列表
什么是
类定义了如何爬取某个(或某些)网站 。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item) 。换句话说 , 就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方

Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo

文章插图

Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo

文章插图
实战
当我们爬取腾讯的招聘信息时 , 假设我们需要的数据是,岗位名称,岗位方向,招聘人数,工作地点,发布时间,需求,并将他们分别Mongo和Mysql数据库保存
我们需要匹配多个数据,可以先用 shell url 先尝试解析 , 命令回车 , 会进入的交互模式,如果安装了,
会优先进入的环境 。
然后已经默认请求完成 。直接.xpath('//**')就可以解析数据 , 非常方便
在项目开发中非常实用
Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo

文章插图

Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo

文章插图
结果:
Mongo
【Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo】> show dbsadmin(empty)local0.078GBpywjh0.078GBtencent_db0.078GBtest0.078GB> use tencent_dbswitched to db tencent_db> show collectionsjobsystem.indexes> db.job.find().pretty(){"_id" : ObjectId("5be12ee28a6e9e0b3cad0d25"),"work_category" : "技术类","publish_time" : "2018-11-06","work_name" : "22989-高级网络运维工程师","work_number" : "2","work_address" : "深圳","work_content" : "1.负责腾讯云机房网络、VPC、负载均衡平台的规划,建设 , 不断提升运维效率;|2.负责对网络问题分可用性;|4.负责分析业务不合理、不高效地方 , 提出优化改进方案并推进实施 。|1.本科及以上学历;|2.3年以上相关工作经验,熟精通路由协议(ospf,bgp),有大规模网络规划、运维经验优先;|4.熟悉主流虚拟化技术原理(如kvm,xen,hyper-v,lxc),有实际的ows操作系统,对系统性能相关问题有较深刻理解;|6.擅长shell、python、perl中一种或几种,熟练应用awk、sed、grep、strace、tcpdump、gdb等常用命令 。"}................................................{"_id" : ObjectId("5be12ee38a6e9e0b3cad0d38"),"work_category" : "市场类","publish_time" : "2018-11-06","work_name" : "25667-企点行业渠道销售经理(北京)","work_number" : "1","work_address" : "北京","work_content" : "负责企点产品的行业渠道拓展工作,包括ISV/SI的维护及跟进,达成制定的销售业绩指标;(主要是汽合作,快速实现拳头优势和标杆效应;|定期拜访渠道合作伙伴 , 充分了解客户需求并积极跟进,制定合理方案,负责方案提示、谈判务的市场化 , 帮助合作伙伴更加健康地发展 。|本科及以上学历,5年以上渠道或业务管理经验,有saas、互联网广告行业工作经验优造性思维和营销推广能力 。"}
Mysql
mysql> show databases;+--------------------+| Database|+--------------------+| information_schema || bole|| mysql|| performance_schema || pywjh|| sys|+--------------------+6 rows in set (0.08 sec)mysql> use bole;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables;+----------------+| Tables_in_bole |+----------------+| blzx|| job|+----------------+2 rows in set (0.00 sec)mysql> select * from job;+----+------------------------------------------------------+------------------+--------+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| id | name| category| number | address | time| content|+----+------------------------------------------------------+------------------+--------+---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+|1 | 22989-高级网络运维工程师| 技术类|2 | 深圳| 2018-11-06 | 1.负载均衡平台的规划,建设,不断提升运维效率;|2.负责对网络问题分析解决,形成方法论,提升团队技术能力;|3.负责通过技术手以上学历;|2.3年以上相关工作经验,熟悉TCP/IP协议,了解SDN相关技术,能够定位linux虚拟化环境下网络异常;|3.熟悉主流的网技术原理(如kvm,xen,hyper-v,lxc),有实际的对虚拟化疑难问题trouble shooting经验;|5.精通linux,windows操作系统,对系统erl中一种或几种,熟练应用awk、sed、grep、strace、tcpdump、gdb等常用命令 。||2 | 22989-运营产品中心web前端开发| 技术类|2 | 深圳| 2018-11-06 | 负责工作;| 负责页面相关的接入层的开发(nodejs) 。| 负责前端框架的搭建,公共组件的开发和维护 。|本科以上学历 , 计算机相关专avascript,熟悉使用jQuery,react.js等框架及类库;| 熟悉常用WEB开发调试工具;| 有使用grunt、gulp、webpack等工具进行前作态度端正,能够积极主动去工作,高效推动项目完成;| 具有良好的逻辑思维及语言表达能沟通力,要能高效配合团队成员,共同|.....................................................................| 67 | SA-腾讯社交广告运维工程师(深圳)| 技术类|1 | 深圳| 2018-11-06 | 负责存存储组件的运维 , 包括日常扩容 , 缩容,故障处理,演习,部署容灾跟进;|负责db,mysql的运维,包括db优化,故障处理 , 演习护产品的质量稳定,通过技术手段、流程制度提升组件的健壮性,可用性;|其他和以上工作相关的专项事务 。|3年以上工作经验,精能相关问题有较深刻理解;|精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令;|精通mysql,对mysql相is , memcache , mongodb , leveldb等运维经验者优先 。|熟练使用Linux/unix操作系统,熟悉主流虚拟化技术与开源组件,有devops实体系结构方面的知识;|熟悉集群高可用性方案,有一定带宽成本速度优化经验;|熟悉互联网产品的运维流程,有海量运营产品架构本科或以上学历,工作细致、善于思考,有很强的数据分析和问题解决能力 。|+----+------------------------------------------------------+------------------+--------+---------+------------+-------------------------------------------------------------------------------------------------------------------------------+67 rows in set (0.00 sec)
这里推荐一下里也有数据库,
Scrapy——2Scrapy shell——腾讯招聘信息—Mysql、Mo

文章插图