爬取猎聘python_爬取猎聘大数据岗位相关信息--Python

猎聘网站搜索大数据关键字,只能显示100页,爬取这一百页的相关信息,以便做分析。

__author__ = ‘Fred Zhao‘

import requests

from bs4 import BeautifulSoup

import os

import csv

class JobSearch():

def __init__(self):

self.headers = {

‘User-Agent‘: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36‘}

self.base_url = ‘https://www.liepin.com/zhaopin/?ckid=c1a868fa8b83aa5b&fromSearchBtn=2&init=-1&sfrom=click-pc_homepage-centre_searchbox-search_new&degradeFlag=0&key=大数据&headckid=c1a868fa8b83aa5b&d_pageSize=40&siTag=LGV-fc5u_67LtFjetF6ACg~fA9rXquZc5IkJpXC-Ycixw&d_headId=8e7325814e7ed9919787ee3fe85e1c94&d_ckId=8e7325814e7ed9919787ee3fe85e1c94&d_sfrom=search_fp&d_curPage=99&curPage=‘

self.base_path = os.path.dirname(__file__)

def makedir(self, name):

path = os.path.join(self.base_path, name)

isExist = os.path.exists(path)

if not isExist:

os.makedirs(path)

print("File has been created.")

else:

print(‘OK!The file is existed. You do not need create a new one.‘)

os.chdir(path)

def request(self, url):

r = requests.get(url, headers=self.headers)

return r

def get_detail(self, page):

r = self.request(self.base_url + page)

ul = BeautifulSoup(r.text, ‘lxml‘).find(‘ul‘, class_=‘sojob-list‘)

plist = ul.find_all(‘li‘)

self.makedir(‘job_data‘)

rows = []

for item in plist:

job_info = item.find(‘div‘, class_=‘sojob-item-main clearfix‘).find(‘div‘, class_=‘job-info‘)

position = job_info.find(‘h3‘).get(‘title‘)

print(position)

job_info_list = job_info.find_all(‘p‘)

job_condition = job_info_list[0].get(‘title‘)

print(job_condition)

job_time = job_info_list[1].find(‘time‘).get(‘title‘)

print(job_time)

company_info = item.find(‘div‘, class_=‘sojob-item-main clearfix‘).find(‘div‘, class_=‘company-info‘)

company = company_info.find(‘p‘, class_=‘company-name‘).find(‘a‘).get(‘title‘)

print(company)

rows.append([position, job_condition, job_time, company])

self.save_to_csv(rows)

def save_to_csv(self, rows):

with open(‘job.csv‘, ‘a‘) as f:

writer = csv.writer(f)

writer.writerows(rows)

if __name__ == ‘__main__‘:

job = JobSearch()

for page in range(0, 100):

job.get_detail(str(page))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java string底层实现_Java-学习日记(Shell与String底层原理)

Java杂记-2020.08.07Test中测试所有getter,setter方法最近一周在写codereview,相关技术是kmock1.0.19,gradlebuild.gradle中配置文件testCompile pl.pojo:pojo-tester:0.7.6testCompile(junit:junit:4.12)testCompile(kmock:kmock:1.0.19)Test中的使用&a…

正态分布为什么常见?

统计学里面,正态分布(normal distribution)最常见。男女身高、寿命、血压、考试成绩、测量误差等等,都属于正态分布。>>>> 作者: 阮一峰以前,我认为中间状态是事物的常态,过高和过低…

Hibernate HQL 语法大全(上)

Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。 1.大小写敏感性问题 除了Java类与属性的名称外…

python tuple args_Python基本数据类型之tuple

一、创建元组:ages (11, 22, 33, 44, 55)ages tuple((11, 22, 33, 44, 55))元组和列表几乎一样元组的元素不可修改,但是元组元素的元素是可以修改的tuple(iterable),可以存放所有可迭代的数据类型二、基本操作:索引name_tuple …

轻量级Excel读取器ExcelReader

用户上传Excel文件,要求读取里面数据,其实可以很简单!新版Excel2007以上的xlsx文件,本质上是OpenXml格式,只需要解开压缩包然后读取内部Xml即可得到想要的数据。ExcelReader 用于快速读取单Sheet的Excel数据&#xff0…

java代码实现链表_java单链表代码实现

用惯了C,java写起来果然不太爽。。。不废话了,上代码。。。package javaInnerclassDemo;class Link{class Node{private String name;private Node next;public Node(String name){this.namename;}public void setname(String name){this .name name;}p…

Python 写各大聊天系统的屏蔽脏话功能原理

来源:Cookie-Fei www.cnblogs.com/cookie1026/p/6121363.html突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时候检测&…

RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器

RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器在《RHEL4- SAMBA服务(一)samba服务的安装与启动》中我讲了如何安装和启动samba服务器,这一篇我来说一说如何使用图形界面配置简单的samba服务&#xff0…

通过图书编号查询python_文字版图书管理-python练习

"""2020-06-01 Python 打卡1、根据下面运行流程图和提示,实现文字版图书管理功能。提示:主体流程代码已实现如下,三个功能分别用函数来实现.每本图书用一个字典来存储:book1 {id:编号,name:书名&#x…

mvc identity连接mysql_asp.net MVC5,如何使用mysql数据库,使用MVC框架中自带的identity用户验证体系...

问题如题现在很多时候,即使是.net项目,我们用的数据库也未必时是 SQL Server了。但很多VS 自带的框架(如MVC 、WebAPI等框架)中的示例自带的仍然是默认Sql Server的,而且并不一定好改成别的数据库。这有时候就很苦恼。比如.net MVC框架中自带…

Dapr 知多少 | 分布式应用运行时

IntroDapr 官方团队已于最近(2021.2.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群。对于绝大多数开发者来说,想必对Dapr只是有所耳闻,而具体是什么(What&a…

使用.NET中的XML注释(一) -- XML注释标签讲解

一.摘要 .Net允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用。 C#解析器可以把代码文件中的这些XML标记提取出来,并作进一步的处理为外部文档。 这篇文章将展示如何使用这些XML注释。 在项目开发中,很多人并不乐意写…

pythonpil库过滤图像contour_一秒钟带你走进P图世界-----(python)PIL库的使用

python-----PIL库的使用一、什么是PIL库1.PIL(Python Image Library)库是python语言的第三方库,具有强大的图像处理能力,不仅包含了丰富的像素、色彩操作功能,还可以用于图像的归档和批量处理能力。2.PIL库主要有2个方面的功能:(1…

mysql tddl_TDDL思考总结

单机数据库分布式数据库TDDL原理与最佳实践1. 数据库的结构1.1. KV存储(id是K)1.2. B树与红黑树B树的特点是叶子节点是块状,一个叶子里面有多个数据,相邻数据是存在一起的,123,456起等,而磁盘也是按块的,B树…

c# winform中窗体切换后释放及防止重复生成

问题1:窗体切换后如何关闭,并释放资?c# winform中,2个窗体,form1和form2,互相切换的时候执行this.Hide(); Form2 form2 new Form2();form2.Show();此时你会发现当Form2显现时,Form1隐藏了,但当你关闭Form2时,其进程并…

2018程序员必备碎片化学习工具(年度精选)

2017马上就要过去了,2018来了。工作、生活节奏超快的今天,想要不断提升自我,碎片化阅读学习是你最佳的选择,如果你有一颗学习的心,那这些学习型的公众号,绝对会让你受益匪浅。小编为你精选了技术领域几个精…

mfc 找到字符串中字符_[LeetCode] 467. 环绕字符串中唯一的子字符串

题目链接: https://leetcode-cn.com/problems/unique-substrings-in-wraparound-string难度:中等通过率:35.6%题目描述:把字符串 s 看作是"abcdefghijklmnopqrstuvwxyz"的无限环绕字符串,所以 s 看起来是这样的&#xf…

ntopng mysql_网络流量监控工具与分析Ntop和Ntopng

Ntop工具NtopNtop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观、详细。Ntop甚至可以列出每个节点计算机的网络带宽利用率。Ntop工作方式1. 命令行界面2. web界面Ntop的功能1. 可以自动从网络中获取有用的信息2. 可以将获取的数据…

oracle express介绍

Oracle express 不是一种新型火车也不是一种新型的邮递服务。Oracle express是个多维的数据库和应用程序环境,这个应用程序环境是用来构建OLAP应用程序的。Express的组件(或者OLAP选项)是维(多维部分中的一部分)和变量…

一文读懂背包问题

转自:刘毅https://www.61mon.com/index.php/archives/188/问题展开有 N 件物品和一个容量为 V 的背包。第 i 件物品的体积是 Ci,其价值是 Wi。求解,在不超过背包容量情况下,将哪些物品装入背包可使价值总和最大。基本思路这是最基…