0 前言
工作之余,时常会想能做点什么有意思的玩意。互联网时代,到处都是互联网思维,大数据、深度学习、人工智能,这些新词刮起一股旋风。所以笔者也赶赶潮流,买了本Python爬虫书籍研读起来。
网络爬虫,顾名思义就是将互联网上的内容按照自己编订的规则抓取保存下来。理论上来讲,浏览器上只要眼睛能看到的网页内容都可以抓起保存下来,当然很多网站都有自己的反爬虫技术,不过反爬虫技术的存在只是增加网络爬虫的成本而已,所以爬取些有更有价值的内容,也就对得起技术得投入。
1案例选取
人有1/3的时间在工作,有一个开心的工作,那么1/3的时间都会很开心。所以我选取招聘网站来作为我第一个学习的案例。
前段时间和一个老同学聊天,发现他是在从事交互设计(我一点也不了解这是什么样的岗位),于是乎,我就想爬取下前程无忧网(招聘网_人才网_工作_求职_上前程无忧)上的交互设计的岗位需求:
2实现过程
我这里使用scrapy框架来进行爬取。
2.1程序结构
C:\Users\hyperstrong\spiderjob_jiaohusheji │scrapy.cfg
│
└─spiderjob
│ items.py
│ pipelines.py │ settings.py │ __init__.py
│ middlewares.py
├─spiders
│ jobSpider.py
│ __init__.py
其中:
items.py是从网页抽取的项目
python网络爬虫书籍推荐jobSpider.py是主程序
2.2链接的构造
用浏览器打开前程无忧网站 招聘网_人才网_工作_求职_上前程无忧,在职务搜索里输入“交互设计师”,搜索出页面后,观察网址链接:
【交互设计师招聘】前程无忧手机网_触屏版
search.51job/jobsearch/search_result.php?fromJs=1&k eyword=%E4%BA%A4%E4%BA%92%E8%AE%BE%E8%AE%A1%E5%B8%88&keywordty pe=2&lang=c&stype=2&postchannel=0000&fromType=1&confirmdate=9 网址链接中并没有页码,于是选择第二页,观察链接:
红标记的为页码,于是可以通过更改此处数字来实现从“第1页”到第44页“的网页自动跳转。当然读者也可以通过网页内容抓取处下一页的链接进行自动翻页,有兴趣的网友可以试下:
2.3网页分析
我要抓取的几个数据分别是
职位名
公司名
工作地点
薪资
发布时间
截图如下,右侧是浏览器-开发者工具(F12)里查的源代码,和网页对应查看:
2.4数据字段:items.py
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
# See documentation in:
# /en/latest/topics/items.html
import scrapy
class SpiderjobItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
jobname = scrapy.Field()
companyname= scrapy.Field()
workingplace= scrapy.Field()
salary= scrapy.Field()
posttime= scrapy.Field()
2.5主要运行程序
我是用的python2.7编写的,并且使用XPath表达式进行数据的筛选和提取。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论