【飞谷六期】爬虫项目2

大概知道一些思路了,试试内推网的爬取。

首先url的格式是:http://www.neitui.me/?name=neitui&handle=lists&keyword={KEY_WORD}&page={CUR_PAGE}

url后面问号跟着的是参数,等于号后面有值的是有效的参数,无值的可以省略;&是连接符号,用于连接参数的。

通过XPath提取页面,我今天才知道,原来在谷歌浏览器中用F12显示源码后,可以按Ctrl+F后,通过XPath表达式来查找目标,这样写完XPath表达式后就可以在页面上直接验证了,也容易判断能否化简表达式。

首先是获取指定岗位的总页数,通过分析源码知道源码中没有总页数这一条。分析页面

页面靠上部分会给出总职位数,每页固定28个职位,这样似乎可以通过(总职位数/28)+1 来得到页数。

但是,试了几个页面之后我发现,当总职位数超过1000时的显示就变成下面的样子了:

这样就不能通过除法得到页数了。

再观察页码部分

可以发现,如果没有下一页时,页面上没有向后的图标。分析源码可以通过

//div[@class="t_pagelink"]//a[@class="next"]

(分析后发现可以化简成//a[@class="next"])

来找到向后的图标。

这样就需要每抓取一页后分析是否还有下一页,如果有就继续抓取。

时间: 2024-10-11 15:33:26

【飞谷六期】爬虫项目2的相关文章

【飞谷六期】爬虫项目1

报名了飞谷六期的爬虫项目,但是自己相关的基础还是较弱,每天都有种无所事事的感觉.决定还是记录一下每天学习到的知识,自己看看也知道学习了些什么. 1.XShell连接阿里云,Xftp传输文件 2.把例子的文件拷贝出来后,link文件夹中的代码如图: 开始看到这些文件,我想说什么鬼.然后看了一下 Scrapy入门,得知,这些文件是在新建scrapy项目后自动生成的.如果建立一个名叫tutorial的新项目,可以输入命令(我都是用的飞谷云提供的环境,linux的) scrapy startprojec

【飞谷六期】爬虫项目4

经过了几天的摸索,照猫画虎的把爬虫的部分做完了. 但是很多原理性的东西都不是很理解,就是照着抄的,还需要继续学习. 看这个目录结构,只看.py的文件,.pyc的文件是运行的时候生成的不管它. items.py:定义想要导出的数据 Pipelines.py:用于将数据导出 settings.py:告诉程序数据传输需要的文件 init.py:没用到过还 (以上是我自己暂时的理解) 我最终抓取的是智联招聘的信息,注意点都在注释里 获取职位连接的关键代码,linkspider,其他文件都是生成时默认的

飞谷云六期第三组——基于Spark的机器学习

项目正式开始时间:2015.10.15. 随笔内容:本次项目的主题是基于Spark的ML.对于ML的学习有大概半年了,正好在网上关注到了由上海交通大学所主办的这个飞谷云的大数据项目,我所报名的这期已经是飞谷云的第六期了,在网上和群里了解了一段时间后大算报名参与一次,毕竟之前没有参与过真正的项目开发,也刚好趁着在学习ML的这个时间通过项目把理论和实践都加强.在这篇随笔中,我打算把这次项目的每个过程都写进来,一是为了给正在进行的项目提供一个全程记录:二是给自己一个留念,毕竟是自己独立完成的一个ML方

JEECG开源社区第六期架构培训班开始报名

JEECG开源社区架构师培训班 ******************************************* 教学特点 学原理,写架构,非学框架,用框架 ******************************************* 教学方法 老师带着你学习编程,每个技术课题,会有对应的视频和作业. 同学以自学为主,遇到问题找老师解答. 每个课题,需交作业,作业完成既可进行下一课题学习! ******************************************* 学

JEECG社区第六期架构培训班报名

JEECG开源社区架构师培训班 ******************************************* 教学特点 学原理,写架构,非学框架,用框架 ******************************************* 教学方法 老师带着你学习编程,每个技术课题,会有对应的视频和作业. 同学以自学为主,遇到问题找老师解答. 每个课题,需交作业,作业完成既可进行下一课题学习! ******************************************* 学

30天搞定大数据爬虫项目

详情请交流  QQ  709639943 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战 Spark离线和实时电影推荐系统 00.三大项目掌握Storm流计算 00.道路交通实时流量监控预测系统 00.基于Spark2.x新闻网大数据实时分析可视化系统 00.小码哥Java大神班五期 任小龙SSM Spring5 Mybatis SpringMVC 00.Python玩转人工智能框架 TensorFlow 00.web开发级mysql颠覆实战课程 00.微信小游戏入

每周前端开源推荐第六期

每周前端开源推荐第六期 43081j / rar.js Pure-JavaScript RAR reader using AJAX, File API & local access 从名字就可以很容易的看出该项目的作用,rar解压缩.同时支持浏览器和Node.js.大家可以进入项目里面,了解具体用法. rschmukler / agenda Lightweight job scheduling for node agenda是Node.js任务调度的项目.数据库用的是MongoDB.使用非常简单

Android第六期 - ViewPage与菜单栏本地页面监听滑动效果

首先是JiaoyuzixunActivity.java代码部分: package com.gaoxiaotong.ctone.jiaoyuzixun; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.json.JSONArray; import org.json.JSONO

爬虫项目总结

1.项目架构 2.详细技术点 1.解析,(依赖注入) 2,使用queue队列实现循环抓取 3.实现优先级队列并提取接口 4.使用log4j实现配置检查及日志打印 5.实现多线程爬虫并提取接口 6.实现url调度器 7.使用queue队列实现url随机榨取 8.使用redis队列实现url 随机抓取 10.使用httpclient 实现模拟登录 11.使用curator 监控爬虫的生命周期 12.建立索引在web页面展示 3.定时插入入口url 4.项目部署 redis solr hbase zo