python 爬取拉钩网数据

完整代码下载:https://github.com/tanjunchen/SpiderProject/blob/master/lagou/LaGouSpider.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-import random
import timeimport requests
from openpyxl import Workbook
import pymysql.cursorsdef get_conn():conn = pymysql.connect(host='localhost',user='root',password='x',db='lagou',charset='utf8',cursorclass=pymysql.cursors.DictCursor)return conndef insert(conn, info):try:with conn.cursor() as cursor:sql = "INSERT INTO `python` (`shortname`, `fullname`, `industryfield`, " \"`companySize`, `salary`, `city`, `education`) VALUES (%s, %s, %s, %s, %s, %s, %s)"cursor.execute(sql, info)conn.commit()print("数据入库成功......")except Exception as e:print(e)conn.rollback()def get_json(url, page, lang_name):'''返回当前页面的信息列表'''headers = {'Host': 'www.lagou.com','Connection': 'keep-alive','Content-Length': '23','Origin': 'https://www.lagou.com','X-Anit-Forge-Code': '0','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0','Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8','Accept': 'application/json, text/javascript, */*; q=0.01','X-Requested-With': 'XMLHttpRequest','X-Anit-Forge-Token': 'None','Referer': 'https://www.lagou.com/jobs/list_python?city=%E5%85%A8%E5%9B%BD&cl=false&fromSearch=true&labelWords=&suginput=','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7'}data = {'first': 'false', 'pn': page, 'kd': lang_name}json = requests.post(url, data, headers=headers, timeout=20).json()list_con = json['content']['positionResult']['result']info_list = []for i in list_con:info = [i.get('companyShortName', '无'), i.get('companyFullName', '无'), i.get('industryField', '无'),i.get('companySize', '无'), i.get('salary', '无'), i.get('city', '无'), i.get('education', '无')]info_list.append(info)return info_list  # 返回列表def main():lang_name = 'python'wb = Workbook()  # 打开 excel 工作簿conn = get_conn()  # 建立数据库连接  不存数据库 注释此行for i in ['上海', '广州', '深圳', '杭州', '北京']:  # 五个城市page = 1ws1 = wb.activews1.title = lang_nameurl = 'https://www.lagou.com/jobs/positionAjax.json?city={}&needAddtionalResult=false'.format(i)while page < 31:  # 每个城市30页信息info = get_json(url, page, lang_name)page += 1for row in info:insert(conn, tuple(row))  # 插入数据库,若不想存入 注释此行ws1.append(row)time.sleep(random.randint(40, 60))conn.close()  # 关闭数据库连接,不存数据库 注释此行wb.save('{}职位信息.xlsx'.format(lang_name))if __name__ == '__main__':main()

python 爬取拉钩网数据相关推荐

  1. python 爬取拉钩数据

    Python通过Request库爬取拉钩数据 爬取方法 数据页面 建表存储职位信息 解析页面核心代码 完整代码 结果展示 爬取方法 采用python爬取拉钩数据,有很多方法可以爬取,我采用的是通过Re ...

  2. 【2019.05】python 爬取拉钩数据(静态+动态)

    拉钩这个网站有点意思,页面加载有两种方法 点击首页的标签,页面是静态加载的 直接搜索,页是动态加载的 两种爬取方式不一样,这里都实现了. 动态爬取时会出现 '操作太频繁,请稍后再试'字样,出现这种情况 ...

  3. Python 爬取拉勾招聘信息

    Python 爬取拉勾招聘信息 故事背景 最近有个好哥们啊浪迫于家里工资太低,准备从北方老家那边来深圳这边找工作,啊浪是学平面设计的知道我在深圳这边于是向我打听深圳这边平面设计薪资水平,当时我有点懵逼 ...

  4. Python应用实战-Python爬取4000+股票数据,并用plotly绘制了树状热力图(treemap)

    目录: 1. 准备工作 2. 开始绘图 2.1. 简单的例子 2.2. px.treemap常用参数介绍 2.3. color_continuous_scale参数介绍 2.4. 大A股市树状热力图来 ...

  5. python爬去朋友圈_利用Python爬取朋友圈数据,爬到你开始怀疑人生

    人生最难的事是自我认知,用Python爬取朋友圈数据,让我们重新审视自己,审视我们周围的圈子. 文:朱元禄(@数据分析-jacky) 哲学的两大问题:1.我是谁?2.我们从哪里来? 本文 jacky试 ...

  6. 利用Python爬取国家水稻数据中心的品种数据

    利用Python爬取国家水稻数据中心的品种数据 一.页面获取 python可以进行对网页的访问,主要用到requests,beautifulsoup4包. 首先新建一个page的py文件,用来获取页面 ...

  7. 利用Python爬取朋友圈数据,爬到你开始怀疑人生

    人生最难的事是自我认知,用Python爬取朋友圈数据,让我们重新审视自己,审视我们周围的圈子. 文:朱元禄(@数据分析-jacky) 哲学的两大问题:1.我是谁?2.我们从哪里来? 本文 jacky试 ...

  8. 利用python爬取2019-nCoV确诊数据并制作pyecharts可视化地图

    1.本章利用python爬取2019-nCoV确诊数据并制作pyecharts可视化地图: 2.主要内容为绘制出中国各省疫情数据,疫情数据从四个维度进行可视化展示:累积确诊人数.现存确诊人数.治愈人数 ...

  9. 用Python爬取最新股票数据含完整源代码

    用Python爬取最新股票数据含完整源代码 抓取目标: url:http://webapi.cninfo.com.cn/#/marketDataDate 数据目标: 获取 证券代码 证券简称 交易日期 ...

最新文章

  1. 将XML转为HTML
  2. 4.01~~Median
  3. javascript中的面向对象_面向对象和函数式编程的本质区别
  4. 倡导农民丰收节交易会-农业大健康·万祥军:谋定功能性农业
  5. 计算机科学与技术专业行业人物,计算机科学与技术专业_计算机科学与技术专业求职 - 沪江英语...
  6. 学习记录-Linux内核模块查看命令
  7. 网页设计师必备的35套图标(免费下载)
  8. 将控制台输出重定向到textbox的dotnet类
  9. 编程疑难杂症の真的非常一样的文本?!
  10. Python机器学习简介
  11. java数据结构——抽象数据类型
  12. 数据库无限层级分类设计
  13. hdmi tv 信息 的edid_HDMI EDID解读
  14. mysql获取年龄_sql获取时间、年龄
  15. Java 微信企业付款到零钱
  16. 在jsp中使用ECharts制作图表
  17. Python语法必备篇——Python字符串 学习【文末送书】
  18. GUI(Graphical User Interface)
  19. word-wrap html,word-wrap
  20. 一个屌丝程序员的青春(二五七)

热门文章

  1. tensorflow6-7
  2. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Gavin大咖免费公益课程Rasa Paper论文解析核心版
  3. 一个曾经的吉他手——孔乙己
  4. 《Windows 8 权威指南》——2.2 Windows 8 Metro界面
  5. 腐蚀rust服务器命令_腐蚀Rust游戏指令大全 全游戏指令一览
  6. Microsoft edge 小游戏及作弊方法
  7. 软件开发英语面试自我介绍及问答
  8. maya 白天室内灯光_Maya课时:白天的灯光构建视频教程_翼狐网
  9. 2022年圣诞节 | matlab实现炫酷的圣诞树
  10. DecoupleSegNets学习总结