数据分析实战1.0

python 岗位数据分析

一.前言

前一段时间学习并写了一些网络爬虫,基于python的,通过网上找一些例子,爬到了很多数据,虽然说不能完全的突破反反爬技术,但是对于大多数反爬不强的网站来说,获取数据还是不难的,这些数据都是网上看的到的,爬虫只是将你所需要的数据集中起来,然而这大量的数据对于我们来说是没什么用的,我们要做的是从大量的数据中获取对我们有用的东西,要实现这一过程,就需要对数据进行数据分析与挖掘.

二.什么是数据分析与挖掘呢?

数据怎样才能对人有用呢?其实数据本身是没有用的,必须要经过一定的处理,比如你手机上的记步功能,通过对你的每一天进行记步,可以反映你的基本运动量(如果你没进行其他锻炼的话),还可以反映出你消耗的能量(卡路里,我手机上是这样),看你这一天的运动量达标情况,等等.这一过程就进行了初步的数据分析与挖掘,哪是数据?步数,哪是分析?这是一个用来获取结果的过程,手机里的程序自动帮你完成了,还有数据挖掘,通过分析得到的结果来预测其它方面的事情,挖掘出数据表面上展现不出来的东西(这往往是商机).
还有一个例子,沃尔玛超市的啤酒和尿布的故事,相信很多人都会说这两件事有什么联系,表面上是没有联系,然而通过对人们的购买数据分析,发现男人一般买尿布的时候,会同时购买啤酒,这样就发现了相互之间的联系,然后运用到实践中去,把啤酒和尿布摆放在一起就可以卖更多,这就是商机.
事实如此,当我们获取的数据非常大的时候,里面就包含了很多有用的信(information),然而往往这些数据十分杂乱,只有经过清洗和整合,得到信息.下一步我们需要从信息中将规律总结出来,发现他们之间的相互关系,称为知识(knowledge),然后运用知识去发现和预测未来

三.实战

由于我也是刚刚自学了一点数据分析与挖掘可视化,加上手头上有现成的数据,就简单的对python岗位的数据进行了分析,小试牛刀.本次数据分析纯属个人喜好,分析所得的结果和结论仅仅是本项目所得,不做参考!

1.数据获取

目标网站: 爬取的是前程无忧网
编程语言: 采用python语言编写(python35)
编辑器: pycharm
所需的库有: requests, pandas, time, lxml, re, matplotlib, pyecharts库
储存文件:csv文件,utf-8编码

import requests
import pandas as pda
from lxml import etree


def data(url):
    urls = []
    head = {
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
    }

    r = requests.get(url,headers=head)
    r.encoding = r.apparent_encoding
    selector = etree.HTML(r.text)
    divs = selector.xpath('//*[@id="resultList"]/div')
    for div in divs[3:53]:#信息所在的div[3]开始,每一页有50条
        url1 = div.xpath('p/span/a/@href')#找到每一条信息的url
        urls.append(url1[0])

    indexdata(urls)#用来获取这一页中50条信息的详细信息
    nexturl = selector.xpath('//*[@id="resultList"]/div[55]/div/div/div/ul/li[8]/a/@href')[0]
    if nexturl:
        data(nexturl)
#相当于翻页功能,判断下一页是否存在,如果存在就调用自身进行下一页的爬取.

def indexdata(urls):
    item = {'职位':'','月薪':'','公司':'','学历':'','经验':'','地址':''}
    head = {
        'Cookie':'太长,省略',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'

    }
    try:
        for url in urls:
            data = requests.get(url,headers=head)
            data.encoding = data.apparent_encoding
            selector = etree.HTML(data.text)
            item['职位'] = selector.xpath('/html/body/div[3]/div[2]/div[2]/div/div[1]/h1/@title')[0]
            item['月薪'] = selector.xpath('/html/body/div[3]/div[2]/div[2]/div/div[1]/strong/text()')[0]
            item['
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值