需求:

使用crawlSpider(全站)进行数据爬取

- 首页: 岗位名称,岗位类别

- 详情页:岗位职责

- 持久化存储

代码:

爬虫文件:

from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from ..items import CrawlproItem,TenproItem_detailclass CrawSpider(CrawlSpider):name = 'craw'# allowed_domains = ['www.xxx.com']start_urls = ['https://hr.tencent.com/position.php?&start=0#a']# 首页所有页码的连接提取器link1 = LinkExtractor(allow=r'&start=\d+#a')# 详情页连接提取器link2 = LinkExtractor(allow=r'position_detail.php\?id=\d+&keywords=&tid=0&lid=0$')  # 问号转义
rules = (Rule(link1, callback='parse_item', follow=True),Rule(link2, callback='parse_detail', follow=True),)def parse_item(self, response):# 岗位名称和类别print('item',response)tr_list = response.xpath('//table[@class="tablelist"]/tr[@class="odd"] | //table[@class="tablelist"]/tr[@class="even"]')for tr in tr_list:job_name = tr.xpath('./td[1]/a/text()').extract_first()job_class = tr.xpath('./td[2]/text()').extract_first()# 实例化item类item = CrawlproItem()item['job_name'] = job_nameitem['job_class'] = job_classyield itemdef parse_detail(self, response):# 岗位职责desc = response.xpath('//ul[@class="squareli"]/li/text()').extract()desc = ''.join(desc)item = TenproItem_detail()item['desc'] = descyield item

items.py文件:

import scrapyclass CrawlproItem(scrapy.Item):job_name = scrapy.Field()job_class = scrapy.Field()class TenproItem_detail(scrapy.Item):desc = scrapy.Field()

管道文件pipelines.py:

class CrawlproPipeline(object):fp = Nonedef open_spider(self, spider):# 文件只打开一次self.fp = open('./tenxun.txt', 'w',encoding='utf-8')def process_item(self, item, spider):desc = None# 取出item中的值if item.__class__.__name__ == 'CrawlproItem':job_name = item["job_name"]job_class = item["job_class"]self.fp.write(f'{job_name}\n{job_class}\n\n')else:desc = item['desc']self.fp.write(desc)return item  # 返回给下一个即将被执行的管道类def close_spider(self, spider):self.fp.close()

配置文件中注意开启管道

转载于:https://www.cnblogs.com/zwq-/p/10602093.html

利用Crawlspider爬取腾讯招聘数据(全站,深度)相关推荐

  1. 爬虫实战——爬取腾讯招聘的职位信息(2020年2月2日)

    爬取腾讯招聘的职位信息 思路分析 特别说明 1.获取PostId列表 2.爬取详情页面 3.保存数据 完整代码 结果展示 总结分析 思路分析 特别说明 本文以Java工作岗位信息为例进行说明,如果想爬 ...

  2. Python网络爬虫:爬取腾讯招聘网职位信息 并做成简单可视化图表

    hello,大家好,我是wangzirui32,今天我们来学习如何爬取腾讯招聘网职位信息,并做成简单可视化图表,开始学习吧! 文章目录 1. 网页分析 2. 获取json数据 3. 转换为Excel ...

  3. 爬虫入门经典(十三) | 一文教你简单爬取腾讯招聘

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  4. 技术图文:如何利用 C# 爬取 ONE 的交易数据?

    投资一个金融产品,最基本的就是拿到这个金融产品的交易数据,对这些数据进行可视化来判断趋势.去年,我在听 李笑来 讲区块链的课程上知道了 BigOne 这个由 INB 投资的交易所,而 ONE 是 Bi ...

  5. 如何利用 C# 爬取 One 持有者返利数据!

    去年,10月份写过一篇图文 「One」的投资价值分析,多半年过去了,回头看看当时的判断还是合理的. 投资这种事情需要有自己的策略,更需要理性.任何决策都需要以数据作为判断的基础,哪么是否还继续持有 O ...

  6. python爬取2019年计算机就业_2019年最新Python爬取腾讯招聘网信息代码解析

    原标题:2019年最新Python爬取腾讯招聘网信息代码解析 前言 初学Python的小伙们在入门的时候感觉这门语言有很大的难度,但是他的用处是非常广泛的,在这里将通过实例代码讲解如何通过Python ...

  7. 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  8. BeautifulSoup爬取智联招聘数据

    BeautifulSoup爬取智联招聘数据 警告: 此项技术仅适用于练习,限制大量大规模爬取,在爬取中使用了个人cookie,请注意不要随意泄露,内含个人隐私信息! 如果过分爬取,会造成ip被封! 1 ...

  9. 深圳python数据分析师招聘_Python爬取智联招聘数据分析师岗位相关信息的方法

    Python爬取智联招聘数据分析师岗位相关信息的方法 发布时间:2020-09-23 23:23:12 来源:脚本之家 阅读:88 进入智联招聘官网,在搜索界面输入'数据分析师',界面跳转,按F12查 ...

最新文章

  1. Js + Css的msn式的popup提示窗口的实现
  2. Eclipse MAT插件下载地址
  3. python 读下一行-Python-将前一行和下一行绑定到当前行。
  4. java 线程aba,JAVA中CAS-ABA的问题解决方案AtomicStampedReference
  5. [汇编语言]-第十章 ret,retf,call指令
  6. 国家开放大学2021春1026西方经济学(本)题目
  7. [网摘]动态SQL中set与select对变量赋值的影响
  8. JHelpers——一个善良忠实的仆人
  9. WebService 代码创建E9流程
  10. oracle-00028,Oracle 10g錯誤:「ORA-00028:您的會話已被終止」
  11. Delphi基础教程第一季
  12. SQL Server读写分离研究
  13. 一文快速了解Docker和Kubernetes
  14. 常成员函数和静态成员函数
  15. UI设计网盘资源收集
  16. 一款专业写公式的软件——MathType
  17. Android 错把setLayerType当成硬件加速
  18. SVN服务器管理工具——VisualSVN Server Manager
  19. 2019全年营收净利润双超预期 微盟开启“飞轮模式”
  20. EXCEL小技巧----有时候有些内容无法看到,却无法取消隐藏怎么办?原因可能是:隐藏+冻结+筛选

热门文章

  1. ajax布林德,布林德重返阿贾克斯引热议,多面手为何在穆帅手里无作为
  2. java线程同步的死锁_Java基础之线程5-线程同步死锁
  3. java stream 多次读取_多次从具有大量数据的Java InputStream中读取
  4. mybatis配置properties属性
  5. 哪款浏览器好用_碉堡了!火狐浏览器发布重大更新,谷歌Chrome请hold住!
  6. 【算法与数据结构】堆排序是什么鬼?
  7. 摘录理解LDAP与LDAP注入
  8. 自定义LeNet5,开启你的炼丹之路
  9. apche commons项目简介
  10. Scrapy定向爬虫教程(一)——创建运行项目和基本介绍