智联招聘爬虫(简易版本……)

1.主要工具

——————————————————————————————————————
语言使用python3.来实现,主要使用的库(sqlite3、lxml、requests)

2.网页解析部分

——————————————————————————————————————
示例代码用来简单提取智联招聘中职位、公司以及薪资数据,如下图~

image.png
[链接][(https://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E6%9D%AD%E5%B7%9E&kw=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&sm=0&p=1),由于时间不是很充裕,这篇文章中将略过文本爬取的介绍,本次示例使用lxml进行网页解析,不是很熟悉的同学可以去看看崔大大的教程,或者到lxml官网去看示例代码。

3.代码

—————————————————————————————————————

import requests 
from lxml import etree

#定义获得html并使用etree加工的函数
def get_html_page(url):
  r = requests.get(url)
  page = etree.HTML(r.text.encode('utf-8').decode('utf-8','ignore'))
  return page
#获得上图中职位信息的函数
def jobs(page):
  jobs_reg = u'//table[@cellpadding="0"]//a[@style="font-weight: bold"]'
  jobs_s = page.xpath(jobs_reg)
  s = [value.xpath('string()') for value in jobs_s]
  return s
#获得公司信息的函数
def companies(page):
  companies_reg = u'//table[@cellpadding="0"]//td[@class="gsmc"]'
  companies_s = page.xpath(companies_reg)
  s = [value.xpath('string()') for value in  companies_s]
  return s
#获得薪水信息的函数
def salary(page):
  salary_reg =u'//table[@cellpadding="0"]//tr/td[@class="zwyx"]' 
  salary_s = page.xpath(salary_reg)
  s = [value.xpath('string()') for value in salary_s ]
  return s

这一段代码主要用来实现网页数据获取以及提取目标数值,因为只是一个简单的示例,所以爬取网页部分不涉及请求分析、header构造以及有可能出现的乱码问题。OK,做一些简单的赋值之后,很容易拿到我们需要的三列数据(实际上是三个列表,ps:最初我尝试过直接使用s = [value.xpath('string()') for value in page.xpath(jobs_reg)]做列表生成式,但是最后得出s不是一个列表,而是一个func,不知是什么原因,希望大家帮忙解决一下)。

OK,拿到数据之后,下一步要进行存储的工作,最简单的方法是使用csv或者pandas这两个包生成CSV文件,进阶的存到数据库里面,这样你后期处理会方便很多,本次示例将使用sqlite3做数据存储。

import sqlite3

global conn
global cursor 
conn = sqlite3.connect('zhilian.db')
cursor = conn.cursor()           
cursor.execute('create table job (id integer PRIMARY KEY autoincrement, jobs varchar(20) ,company varchar(30),salary varchar(15) )')
#运行函数
url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E6%9D%AD%E5%B7%9E&kw=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&sm=0&p=1'   
page = get_html_page(url)

jobs = jobs(page) 
companies = companies(page)
salary = salary(page)
#数一下生成的列表有多少数
count_num = len(jobs)
#下边就开始保存到数据库 
global i
i = 0
for i in range(count_num):    
    sql = 'insert into job(id ,jobs,company,salary) values(?,?,?,?)'   
    cursor.execute(sql,(i,jobs[i],companies[i],salary[i]))
    i=i+1
conn.commit()

最后找个图形化的数据库处理软件(我用的是DB Browser for sqlite),查一下刚才保存成功的数据~


image.png

后续我会写一个复杂的版本———————待————————填——————————坑————————

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生_X自主阅读 15,983评论 3 119
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,116评论 4 61
  • 梦 睡意使我昏沉于你肩 无组织的梦言 有你牵手的勇敢 母性般的爱怜 看 你掀起波澜 惊觉了山的浩瀚 重重地压你我之...
    聲名水上書阅读 137评论 2 3
  • 注:详细内容请前往此处。Dingus 是一个网页应用程序,你可以把自已编写的 Markdown 文档转成 XHTM...
    Kevin_简书阅读 205评论 0 0
  • 毕竟是人生一大笔合同,需要不急不躁。多花点时间研究细节。比如中介提供的户型图尺寸对吗?车位比例对吗?周围的环境自己...
    苏那个世界阅读 146评论 0 0