利用Crawlspider爬取腾讯招聘数据(全站,深度)
需求:
使用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爬取腾讯招聘数据(全站,深度)相关推荐
- 爬虫实战——爬取腾讯招聘的职位信息(2020年2月2日)
爬取腾讯招聘的职位信息 思路分析 特别说明 1.获取PostId列表 2.爬取详情页面 3.保存数据 完整代码 结果展示 总结分析 思路分析 特别说明 本文以Java工作岗位信息为例进行说明,如果想爬 ...
- Python网络爬虫:爬取腾讯招聘网职位信息 并做成简单可视化图表
hello,大家好,我是wangzirui32,今天我们来学习如何爬取腾讯招聘网职位信息,并做成简单可视化图表,开始学习吧! 文章目录 1. 网页分析 2. 获取json数据 3. 转换为Excel ...
- 爬虫入门经典(十三) | 一文教你简单爬取腾讯招聘
大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...
- 技术图文:如何利用 C# 爬取 ONE 的交易数据?
投资一个金融产品,最基本的就是拿到这个金融产品的交易数据,对这些数据进行可视化来判断趋势.去年,我在听 李笑来 讲区块链的课程上知道了 BigOne 这个由 INB 投资的交易所,而 ONE 是 Bi ...
- 如何利用 C# 爬取 One 持有者返利数据!
去年,10月份写过一篇图文 「One」的投资价值分析,多半年过去了,回头看看当时的判断还是合理的. 投资这种事情需要有自己的策略,更需要理性.任何决策都需要以数据作为判断的基础,哪么是否还继续持有 O ...
- python爬取2019年计算机就业_2019年最新Python爬取腾讯招聘网信息代码解析
原标题:2019年最新Python爬取腾讯招聘网信息代码解析 前言 初学Python的小伙们在入门的时候感觉这门语言有很大的难度,但是他的用处是非常广泛的,在这里将通过实例代码讲解如何通过Python ...
- 从入门到入土:Python爬虫学习|实例练手|详细讲解|爬取腾讯招聘网|一步一步分析|异步加载|初级难度反扒处理|寻找消失的API来找工作吧
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- BeautifulSoup爬取智联招聘数据
BeautifulSoup爬取智联招聘数据 警告: 此项技术仅适用于练习,限制大量大规模爬取,在爬取中使用了个人cookie,请注意不要随意泄露,内含个人隐私信息! 如果过分爬取,会造成ip被封! 1 ...
- 深圳python数据分析师招聘_Python爬取智联招聘数据分析师岗位相关信息的方法
Python爬取智联招聘数据分析师岗位相关信息的方法 发布时间:2020-09-23 23:23:12 来源:脚本之家 阅读:88 进入智联招聘官网,在搜索界面输入'数据分析师',界面跳转,按F12查 ...
最新文章
- Js + Css的msn式的popup提示窗口的实现
- Eclipse MAT插件下载地址
- python 读下一行-Python-将前一行和下一行绑定到当前行。
- java 线程aba,JAVA中CAS-ABA的问题解决方案AtomicStampedReference
- [汇编语言]-第十章 ret,retf,call指令
- 国家开放大学2021春1026西方经济学(本)题目
- [网摘]动态SQL中set与select对变量赋值的影响
- JHelpers——一个善良忠实的仆人
- WebService 代码创建E9流程
- oracle-00028,Oracle 10g錯誤:「ORA-00028:您的會話已被終止」
- Delphi基础教程第一季
- SQL Server读写分离研究
- 一文快速了解Docker和Kubernetes
- 常成员函数和静态成员函数
- UI设计网盘资源收集
- 一款专业写公式的软件——MathType
- Android 错把setLayerType当成硬件加速
- SVN服务器管理工具——VisualSVN Server Manager
- 2019全年营收净利润双超预期 微盟开启“飞轮模式”
- EXCEL小技巧----有时候有些内容无法看到,却无法取消隐藏怎么办?原因可能是:隐藏+冻结+筛选
热门文章
- ajax布林德,布林德重返阿贾克斯引热议,多面手为何在穆帅手里无作为
- java线程同步的死锁_Java基础之线程5-线程同步死锁
- java stream 多次读取_多次从具有大量数据的Java InputStream中读取
- mybatis配置properties属性
- 哪款浏览器好用_碉堡了!火狐浏览器发布重大更新,谷歌Chrome请hold住!
- 【算法与数据结构】堆排序是什么鬼?
- 摘录理解LDAP与LDAP注入
- 自定义LeNet5,开启你的炼丹之路
- apche commons项目简介
- Scrapy定向爬虫教程(一)——创建运行项目和基本介绍