爬取猎聘python_从爬虫到数据可视化(1)—猎聘网

学习python爬虫有一段时间了,今天先拿猎聘网的上海公司数据练练手,并做一点数据分析,分享给大家。

一、数据获取

1、爬虫思路

①首先找到上海公司列表页面 https://www.liepin.com/company/020-000/。

②由于该页面最多显示100页,所以要分行业爬取,分行业没有超过100页的了。

③获取各行业页面的网址。

④对每一个行业页面进行翻页,这样就已经得到上海公司的所有页面。

⑤再从这些页面中获取所有公司详情页的网址。

⑥对详情页进行解析获取到各公司的详细数据。

2、scrapy爬虫

4个函数分别对应后四个步骤,这里用到User-Agent随机切换,没用代理,共11548条数据用时35分钟左右

Spider模块代码如下(其他模块基本没用):

# -*- coding: utf-8 -*-

import scrapy

import requests

from bs4 import BeautifulSoup

from lxml import etree

import re

import random

import time

from LiePinWang.items import LiepinwangItem

import json

hds=[{'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'},\

{'User-Agent':'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11'},\

{'User-Agent':'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'},\

{'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0'},\

{'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36'},\

{'User-Agent':'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'},\

{'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'},\

{'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【为什么学爬虫?】        1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到!        2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是:网络请求:模拟浏览器的行为从网上抓取数据。数据解析:将请求下来的数据进行过滤,提取我们想要的数据。数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是:爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求!【课程服务】 专属付费社群+定期答疑
好的,这里提供一个简单的爬取猎聘大数据岗位相关信息的Python代码,具体步骤如下: 1. 导入所需库:requests、bs4、pandas 2. 定义一个函数,用于爬取指定页面的数据,并将数据转换为DataFrame格式 3. 定义一个循环语句,用于爬取多个页面的数据 4. 将所有爬取到的数据合并为一个DataFrame,并保存为Excel文件 代码如下: ```python import requests from bs4 import BeautifulSoup import pandas as pd # 定义一个函数,用于爬取指定页面的数据,并将数据转换为DataFrame格式 def get_data(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'lxml') job_list = soup.find_all('div', class_='job-info') data = [] for job in job_list: job_title = job.find('h3').text.strip() company = job.find('p', class_='company-name').text.strip() salary = job.find('span', class_='text-warning').text.strip() location = job.find('p', class_='area').text.strip() experience = job.find('p', class_='experience').text.strip() education = job.find('p', class_='education').text.strip() job_desc = job.find('p', class_='temptation').text.strip() data.append([job_title, company, salary, location, experience, education, job_desc]) df = pd.DataFrame(data, columns=['职位名称', '公司名称', '薪资', '工作地点', '工作经验', '教育程度', '职位描述']) return df # 定义一个循环语句,用于爬取多个页面的数据 result = pd.DataFrame() for i in range(1, 11): url = 'https://www.liepin.com/zhaopin/?key=大数据&d_sfrom=search_fp&headckid=8cfa3a6d7e4f2f4d&flushckid=1&d_pageSize=40&d_curPage={}'.format(i) df = get_data(url) result = pd.concat([result, df], ignore_index=True) # 将所有爬取到的数据合并为一个DataFrame,并保存为Excel文件 result.to_excel('大数据岗位.xlsx', index=False) print('数据已保存!') ``` 其中,for循环语句中的range(1, 11)表示爬取10页数据,可以根据需要进行修改。另外,最后一行代码将所有爬取到的数据保存为Excel文件,文件名为“大数据岗位.xlsx”,可以根据需要进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值