最新 Python3 爬取前程无忧招聘网 mysql和excel 保存数据

本文主要是介绍最新 Python3 爬取前程无忧招聘网 mysql和excel 保存数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python 爬虫目录
        
        1、最新 Python3 爬取前程无忧招聘网 lxml+xpath
        2、Python3 Mysql保存爬取的数据 正则
        3、Python3 用requests 库 和 bs4 库 最新爬豆瓣电影Top250
        4、Python Scrapy 爬取 前程无忧招聘网
        5、Python3 爬取房价 采用lxml+xpath
        6、持续更新…
        
        
        

本文更新于2021年06月01日

本文爬取网站为https://search.51job.com/list/000000,000000,0000,00,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590,2,1.html?

本文选用的是lxml模块,xpath语法提取数据

推荐谷歌用户一个可以帮助xpath调试的插件
Xpath Helper
在这里插入图片描述

1、进行分析网站

在这里插入图片描述

**

要爬取的职位名、公司名、工作地点、薪资的信息都在class="e"里

**
在这里插入图片描述

分析完就可以用xpath 语法进行调试了
完整代码如下:

from selenium import webdriver
from lxml import etree
import time
import pymysql# 设置不启动浏览器
option = webdriver.ChromeOptions()
option.add_argument('headless')def get_url(url):browser = webdriver.Chrome(options=option)browser.get(url)html_text = browser.page_source# browser.quit()# time.sleep(5)return html_textdef GetData(url):""":param url: 目标网址:return:"""html_text = get_url(url)dom = etree.HTML(html_text)dom_list = dom.xpath('//div[@class="j_result"]/div[@class="in"]/div[@class="leftbox"]//div[@class="j_joblist"]//div[@class="e"]')Job_list = []for t in dom_list:# 1.岗位名称job_name = t.xpath('.//a[@class="el"]//span[@class="jname at"]/text()')[0]# print(job_name)  for test# 2.发布时间release_time = t.xpath('.//a[@class="el"]//span[@class="time"]/text()')[0]# 3.工作地点address = t.xpath('.//a[@class="el"]//span[@class="d at"]/text()')[0]# 4.工资salary_mid = t.xpath('.//a[@class="el"]//span[@class="sal"]')salary = [i.text for i in salary_mid][0]  # 列表解析# 5.公司名称company_name = t.xpath('.//div[@class="er"]//a[@class="cname at"]/text()')[0]# 6.公司类型和规模company_type_size = t.xpath('.//div[@class="er"]//p[@class="dc at"]/text()')[0]# 7.行业indusrty = t.xpath('..//div[@class="er"]//p[@class="int at"]/text()')[0]JobInfo = {'job_name': job_name,'address': address,'salary': salary,'company_name': company_name,'company_type_size': company_type_size,'industry': indusrty,'release_time': release_time}Job_list.append(JobInfo)return Job_listdef SaveSql(data):""":param data: 数据:return:"""# 创建连接db = pymysql.Connect(host='localhost',  # mysql服务器地址port=3306,  # mysql服务器端口号user='root',  # 用户名passwd='123123',  # 密码db='save_data',  # 数据库名charset='utf8'  # 连接编码)# 创建游标cursor = db.cursor()# 使用预处理语句创建表cursor.execute("""create table if not exists Job_info(ID INT PRIMARY KEY AUTO_INCREMENT ,job_name VARCHAR(100) ,address VARCHAR (100),salary  VARCHAR (30),company_name VARCHAR (100) ,company_type_size VARCHAR (100),industry VARCHAR (50),release_time VARCHAR (30))""")for i in data:insert = "INSERT INTO Job_info(" \"job_name,address,salary,company_name,company_type_size,industry,release_time" \")values(%s,%s,'%s',%s,%s,%s,%s)" % (repr(i['job_name']), repr(i['address']), i['salary'], repr(i['company_name']),repr(i['company_type_size']), repr(i['industry']), repr(i['release_time']))try:# 执行sql语句cursor.execute(insert)# 执行sql语句db.commit()print("insert ok")except:# 发生错误时回滚db.rollback()db.commit()# 关闭数据库连接db.closeif __name__ == '__main__':for i in range(301, 451):print('开始存储第' + str(i) + '条数据中')url_pre = 'https://search.51job.com/list/000000,000000,0000,00,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590,2,'url_end = '.html?'url = url_pre + str(i) + url_endSaveSql(GetData(url))time.sleep(3)print('存储完成')

完成后效果

mysql 存储
在这里插入图片描述

Excel 存储(后续更新)
在这里插入图片描述

有不明白的地方欢迎提问

本文更新于2021年06月01日

这篇关于最新 Python3 爬取前程无忧招聘网 mysql和excel 保存数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680400

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon