爬取前程无忧数据,并存入数据库
代码如下:
import urllib.request ##请求
import ssl
import re
import xlwt
import pymysqlssl._create_default_https_context = ssl._create_unverified_context##去爬取数据,返回的是HTML页面的内容
def getContent(name,j):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4503.5 Safari/537.36",'Connection': 'keep-alive'}j = j+1url = "https://search.51job.com/list/000000,000000,0000,00,9,99,%s,2,%d.html?lang=c&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare="%(name,j)##请求对象(URL + 请求头)req = urllib.request.Request(url, headers=headers)##获取页面内容page = urllib.request.urlopen(req).read()##对获取的到内容,设置编码:防止中文乱码page = page.decode("GBK")return page##使用正则找出 页面中 工作 相关的信息
def getItem(content):pattern = re.compile(r'"job_href":"(.+?)","job_name":"(.+?)".+?"company_href":"(.+?)","company_name":"(.+?)","providesalary_text":"(.*?)".+?"workarea_text":"(.*?)","updatedate":"(.*?)".*?"companytype_text":"(.*?)","degreefrom":"(.*?)".*?"attribute_text":(.*?),"companysize_text":"(.*?)",.*?,"companyind_text":"(.*?)".*?')res = re.findall(pattern,content)return res##将找出的信息存储在Excel表格中
def saveExcel(list):##(2)工作簿wb = xlwt.Workbook()##(3)表sheet = wb.add_sheet("数据分析50")##(4)写数据:一行一行的写header = ["公司的名字", "公司的网址","公司类型","公司规模","行业","工作地点","岗位名字", "待遇","岗位详情", "发布时间","学历","招聘要求"]##表头for (i,v) in enumerate(header):sheet.write(0,i,v)##(0岗位详情,1岗位名字,2公司的网址,3公司的名字,4待遇,5工作地点,6发布时间,7公司类型,8学历,9招聘要求,10公司规模,11行业)for (i,tuple) in enumerate(list):sheet.write(i + 1, 0, tuple[3])sheet.write(i + 1, 1, tuple[2])sheet.write(i + 1, 2, tuple[7])sheet.write(i + 1, 3, tuple[10])sheet.write(i + 1, 4, tuple[11])sheet.write(i + 1, 5, tuple[5])sheet.write(i + 1, 6, tuple[1])sheet.write(i + 1, 7, tuple[4])sheet.write(i + 1, 8, tuple[0])sheet.write(i + 1, 9, tuple[6])sheet.write(i + 1, 10, tuple[8])sheet.write(i + 1, 11, tuple[9])##保存wb.save("51job2.xls")list=[]
name = input("请输入您想要搜索的行业")
for j in range(0,201):print("正在为您查询第%s页数据,请不要进行任何操作或退出程序。"%(j+1))aaa = getContent(name,j)content = getItem(aaa)list.extend(content)def saveMysql(list):conn = pymysql.connect(host="localhost",user="root",password="123",database="xmmysql",charset="utf8")cursor = conn.cursor() ##创建游标(新建查询会话),通过游标执行SQL语句for i in list:sql = "insert into sjfx(name,wz,leix,gm,hy,gzdd,gwmz,dy,gwxq,fbsj,xl,zpyq) values('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')"%(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11])cursor.execute(sql) ##将SQL语句放入游标中,准备执行conn.commit() ##提交cursor.close()conn.close()# saveExcel(list)
# saveMysql(list)
爬取前程无忧数据,并存入数据库相关推荐
- Python爬取网站数据并存入数据库(简单易懂)
hello 大家好,最近写代码,需要用到爬虫去爬取数据,废话不多说,进入主题 既然要存入数据库,那必然需要进行数据库连接,通过Python里面的pymysql驱动去链接我们的mysql数据库,然后建立 ...
- 用python爬取网页数据并存入数据库中源代码_Python爬取51cto数据并存入MySQL方法详解...
[] 实验环境 1.安装Python 3.7 2.安装requests, bs4,pymysql 模块 实验步骤1.安装环境及模块 可参考https://www.jb51.net/article/19 ...
- python爬取证券数据并存入数据库
用python爬虫爬取数据并存到数据库 1----------------------------------------------------------------------编写爬虫,下载数据 ...
- python爬虫爬取大学排名并存入数据库进行数据可视化
这是本人的期末大作业,题目要求如下: 对中国大学专业排名网站中2021年,计算机科学与技术专业,进行数据爬取和数据可视化. URL地址:https://www.shanghairanking.cn/r ...
- python爬取微博数据存入数据库_Python爬取微博数据并存入mysql,excel中
寒假期间做微博数据统计,由于是部门要求,也没办法,自己又是一个懒人,直接用python实现吧.写的很粗糙,也很差,请大家别介意. 总的来说分成两个模块:一个爬取微博数据存入数据库,一个从数据库调取数据 ...
- python3爬取数据存入mysql_Python如何爬取51cto数据并存入MySQL
实验环境 1.安装Python 3.7 2.安装requests, bs4,pymysql 模块 实验步骤1.安装环境及模块 2.编写代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
- python爬取mysql_Python如何爬取51cto数据并存入MySQL
实验环境 1.安装python 3.7 2.安装requests, bs4,pymysql 模块 实验步骤1.安装环境及模块 可参考 2.编写代码 # 51cto 博客页面数据插入mysql数据库 # ...
- python爬取股票数据并存到数据库
Python 用Tushare接口获取股票数据并存储到Sqlite数据库 使用技术介绍: 关于接口 由于tushare旧版本即将不能用了,所以我们这里使用的是tushare pro 接口. 关于数据库 ...
- 爬虫入门:利用爬虫爬取有效数据后录入数据库(一)
写在前面的话: 博主也是一个初学者,写的可能也不是很详细或者有错误的,希望大家可以多多指正,多多交流学习经验,不胜感激. 一.如何利用python连接数据库 利用pymysql来实现对数据库的连接 # ...
- r语言 python 股票_R语言:抓取股票数据并存入数据库进行分析实例 MySQL
R语言连接mySql 准备: RODBC R studio console下 > Install.packages(RODBC) 安装MySql https://dev.mysql.com/ge ...
最新文章
- Python 进阶 — 创建本地 PyPI 仓库与 Python 程序的离线部署
- 笔记本电脑linux系统下载,给笔记本电脑装Linux系统
- docker配置数据默认存储路径:--graph已过时,新版本中使用--data-root代替
- nosql简答什么是最终一致性_最终一致性 – 如何在NoSQL中维护非规范化一致性?...
- ubuntu中怎么打开python_如何在Linux Ubuntu 16.04下安装及打开PyCharm
- [react] create-react-app创建新运用怎么解决卡的问题?
- api postmain 鉴权_API鉴权
- 程序员必备智力题集锦 (典藏版)
- 这些神奇的 QQ 你还记得几个?
- 目标检测网络 -- FasterRCNN
- 某国内知名百货公司同城裸光纤/海外专线
- iOS绘制1像素的线
- Python获取对象所占内存大小方法
- 假装内卷,才是互联网人的骚操作
- 怎样在Mac上为 Apple ID 设置双重认证?
- Openstack Kilo安装错误汇总
- 计算机专业素质拓展,创新与素质拓展学分.doc
- 北斗短报文一体机-Qt版(适用于Ubuntu和Windows)
- 在数组中 找左边都比其小右边都比其大的元素
- vue关于监听子组件接收从父组件传过来的动态值的问题
热门文章
- 百变精灵、灵萌仙宠,《神都降魔》带您遨游仙界!
- 上海国际能源交易中心大户持仓报告制度 操作指南
- Java网络爬虫--一步步使用Java网络爬虫技术实现豆瓣读书Top250数据的爬取,并插入数据库
- 七巧板复原算法之小结局——给出一个最大结果集
- oracle基础|oracle排序用法|order by用法|where用法
- discuz安装配置
- 【原创】VBA学习笔记(303)VBA 要善用各种VBE 代码窗口 自带的帮助系统
- 由七芒星引出来的——关于142857
- 华硕x450jn拆机_华硕X450JN笔记本拆机升级SSD,影驰ONE120固态硬盘上手
- 如何快速打开北京健康宝小程序?