爬虫实战之全站爬取拉勾网职位信息

本文详细介绍了如何使用Scrapy全站爬取拉勾网的职位信息,包括环境配置、数据维度、网页分析、爬取规则、处理拉勾的反爬策略以及爬取结果展示。通过设置crawlspider规则和LinkExtractor,实现对有价值URL的深度爬取,并讨论了长期爬取的优化策略,如动态获取和更新cookie。
摘要由CSDN通过智能技术生成

全站爬取拉勾网职位信息

一、环境

  • window7
  • scrapy
  • MySQL

 

二、简介

    scrapy的全站爬取方式crawlspider跟其通用爬取方式spider实现上有一定的区别,两者都有各自的优势,选择用哪种方式取决于你对数据的需求和网站形式。

数据维度:职位链接、链接MD5压缩、岗位 、最低工资、最高工资、工作城市、最低工作经验、最高工作经验、学历要求、职位类型、发布时间、公司标签、职位诱惑、职位描述、工作地点、公司名字、爬取时间、爬取更新时间

 

三、网页分析与编程实现

1、crawlspider项目创建

    1)创建项目

        在命令行中输入:scrapy startproject 项目名字

    2)创建crawlspider模板

        根据提示进入项目文件目录,输入:scrapy genspider -t crawl example example.com crawlspider模块如下图:

若需要另行创建环境,需要用到virtualenv模块,配置过程省略,在命令行中输入:mkvirtualenv virtualenv_name 创建新环境

当然如果需要指定python版本的环境,输入:mkvirtualenv --python=python2/3.exe 的路径

到这里crawlspider项目创建完毕

 

2、crawlspider爬取规则

   其实crawlspider的爬取比通用的spider爬取更简便,从上图的模板可以看到,一个rules参数其实就是负责在全站的url中挖掘出有价值的url,也就是拥有我们想要的数据的url;其中的LinkExtractor方法是负责提取页面上的全部url,可根据我们设定的条件筛选出我们需要的url,callback参数是指定对筛选出的url的请求的响应函数,而follow参数的意思是是否需要对筛选出的url进行深度爬取,

所以一般的crawlspider程序只需要设置好rules和对url的解析函数就可以了,程序启动的入口是调用start_urls进行爬取;LinkExtractor方法中的allow参数值看起来并不完整,其实它是默认与allowed_domains连接起来的,如果一个网站的url并不是简单的https://www.xxx.com/....模式,我们可以挑选出多个含有有效信息的url模式写入allowed_domains列表中,如['www.xxx.com' , 'www.sss.com',...]

 

3、爬取拉勾遇到的问题

   拉勾不需要登录也可以进行全站爬取,不过容易被服务器识别为爬虫,一旦被识别为爬虫访问,网站

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值