爬取文件
原理:
1.需求分析
前程无忧招聘网没有设计反爬虫策略,只需要利用开发者工具分析出页面的数据来源和分页规律即可。前程无忧招聘网职位搜索列表页和详情页如图所示。
2.爬虫数据存储设计
对于爬虫来说,最重要的是爬取下来的数据,所以爬虫项目在开发前需要考虑数据的保存格式以及保存的数据项。前期预估网站爬取的数据在 10 万以内,数据量较小,所以考虑采用 CSV 等文本格式或 MySQL 数据库进行存储。
如果采用 CSV 文本格式进行存储,在数据清洗前还要考虑数据合并。
结合需求分析中的数据分析目标,分析前程无忧、猎聘网、智联招聘三个招聘网站的岗位的数据,确定数据采集项。利用数据库中的表结构设计形式进行展示每个数据项的含义及作用。
最后进行数据库设计,在mysql数据库实现表的创建。
内容:
1.分析招聘网站每条招聘信息的内容,确定爬虫数据项,以数据库表结构形式进行展示。
2.确定数据存储格式,在scrapy项目中编写数据存储的相关代码。
1.页面分析
在搜索列表页中,鼠标右键选择“查看网页源代码”,观察 html 页面结构,在 html 页面中发现检索的职位数据混编在 JavaScript 脚本中,数据格式为 json。可以通过代码提取“window.SEARCH_RESULT=”后的 json,进行解析即可。
接下来分析分页规律,通过点击分页的数字按钮,可以确定url地址中“.html?”前的数字为页码。由于请求的url地址过长,尝试去掉多余的参数,通过测试发现url地址中问号后的请求参数,都可省略。最简url地址的格式为“/list/000000,000000,0000,00,9,99,检索关键字,2,页码.html”。
2.爬虫编写
在正式编写爬虫前,需要思考几个问题,形成基本的爬虫编写思路。问题如下:
如何处理多个检索关键字,如“大数据开发”、“算法”、“爬虫”等
如何处理分页,多页数据的爬取
如何保存 keywords 检索关键字