Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
一、基本思路
目标url:https://www.lagou.com/
用selenium爬虫实现,输入任意关键字,比如 python 数据分析 ,点击搜索,得到的有关岗位信息,爬取下来保存到Excel。
有30页,每个页面有15条招聘信息。
二、selenium爬虫 from selenium import webdriverimport timeimport loggingimport randomimport openpyxlwb = openpyxl.Workbook()sheet = wb.activesheet.append(['job_name', 'company_name', 'city','industry', 'salary', 'experience_edu','welfare','job_label'])logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')def search_product(key_word): browser.find_element_by_id('cboxClose').click() # 关闭让你选城市的窗口 time.sleep(2) browser.find_element_by_id('search_input').send_keys(key_word) # 定位搜索框 输入关键字 browser.find_element_by_class_name('search_button').click() # 点击搜索 browser.maximize_window() # 最大化窗口 time.sleep(2) browser.find_element_by_class_name('body-btn').click() # 关闭弹窗 啥领取红包窗口 time.sleep(random.randint(1, 3)) browser.execute_script("scroll(0,3000)") # 下拉滚动条 get_data() # 调用抓取数据的函数 # 模拟点击下一页 翻页爬取数据 每爬取一页数据 休眠 控制抓取速度 防止被反爬 让输验证码 for i in range(29): browser.find_element_by_class_name('pager_next ').click() time.sleep(1) browser.execute_script("scroll(0,3000)") get_data() time.sleep(random.randint(3, 5))def get_data(): items = browser.find_elements_by_xpath('//*[@id="s_position_list"]/ul/li') for item in items: job_name = item.find_element_by_xpath('.//div[@class="p_top"]/a/h3').text company_name = item.find_element_by_xpath('.//div[@class="company_name"]').text city = item.find_element_by_xpath('.//div[@class="p_top"]/a/span[@class="add"]/em').text industry = item.find_element_by_xpath('.//div[@class="industry"]').text salary = item.find_element_by_xpath('.//span[@class="money"]').text experience_edu = item.find_element_by_xpath('.//div[@class="p_bot"]/div[@class="li_b_l"]').text welfare = item.find_element_by_xpath('.//div[@class="li_b_r"]').text job_label = item.find_element_by_xpath('.//div[@class="list_item_bot"]/div[@class="li_b_l"]').text data = f'{job_name},{company_name},{city},{industry},{salary},{experience_edu},{welfare},{job_label}' logging.info(data) sheet.append([job_name, company_name, city,industry, salary, experience_edu, welfare, job_label])def main(): browser.get('https://www.lagou.com/') time.sleep(random.randint(1, 3)) search_product(keyword) wb.save('job_info.xlsx')if __name__ == '__main__': keyword = 'Python 数据分析' # chromedriver.exe的路径 chrome_driver = r'D:\python\pycharm2020\chromedriver.exe' options = webdriver.ChromeOptions() # 关闭左上方 Chrome 正受到自动测试软件的控制的提示 options.add_experimental_option('useAutomationExtension', False) options.add_experimental_option("excludeSwitches", ['enable-automation']) browser = webdriver.Chrome(options=options, executable_path=chrome_driver) main() browser.quit()
爬虫运行,成功爬取数据并保存到Excel,运行结果如下:
三、查看数据
如果大家对Python感兴趣的话,可以加一下老师的微信哦:abb436574,免费领取一套学习资料和视频课程哟~
Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗相关推荐
- python爬虫senlenium爬取拉勾网招聘数据!
一.基本思路 目标url:https://www.lagou.com/ 用selenium爬虫实现,输入任意关键字,比如 python 数据分析,点击搜索,得到的有关岗位信息,爬取下来保存到Excel ...
- python爬虫 senlenium爬取拉勾网招聘数据
文章目录 一.基本思路 二.selenium爬虫 三.查看数据 原文链接:https://yetingyun.blog.csdn.net/article/details/108170411 创作不易, ...
- node 爬虫 实战 - 爬取拉勾网职位数据
node 爬虫 实战 - 爬取拉勾网职位数据,主要想把数据用于大数据学习,到时候大数据分析可以自己分析一下职位的情况,和比较一些我现在的职位在深圳乃至全国的开发人员水平. 涉及到的技术栈:node.j ...
- AJAX教程美食滤镜,Python爬虫实例——爬取美团美食数据
1.分析美团美食网页的url参数构成 1)搜索要点 美团美食,地址:北京,搜索关键词:火锅 2)爬取的url https://bj.meituan.com/s/%E7%81%AB%E9%94%85/ ...
- Python爬虫:爬取喜马拉雅音频数据详解
前言 喜马拉雅是专业的音频分享平台,汇集了有声小说,有声读物,有声书,FM电台,儿童睡前故事,相声小品,鬼故事等数亿条音频,我最喜欢听民间故事和德云社相声集,你呢? 今天带大家爬取喜马拉雅音频数据,一 ...
- python3 scrapy实战:爬取拉勾网招聘数据至数据库(反爬虫)
首先注明:感谢拉勾网提供的权威.质量的数据,本人抱着学习的态度,不愿增加其服务器负担,与dos攻击. 由于后面准备做一个大一点的数据分析项目,所以前提需要获取大量的有质量和权威的信息,其中一个获取点便 ...
- Python爬虫:爬取拉勾网职位并分析
大数据杂谈 一起行走数据江湖! 作者:闲庭信步 原文链接: https://blog.csdn.net/danspace1/article/details/80197106 如需转载,请联系原作者. ...
- python爬虫——Scrapy爬取博客数据
新建一个Scrapy文件: # -*- coding: utf-8 -*- import scrapyclass CsdnBlogSpider(scrapy.Spider):name = 'csdn_ ...
- python爬虫案例-爬取当当网数据
输入关键字,爬取当当网中商品的基本数据,代码如下: 1 # Author:K 2 import requests 3 from lxml import etree 4 from fake_userag ...
最新文章
- Redis:一致性Hash算法
- java day07第七课静态的和单例设计模式
- BZOJ2822 [AHOI2012]树屋阶梯
- 洛谷 P2197 nim游戏
- STM32串口USART1的使用方法
- 试析C#编程语言的特点及功能
- 【万里征程——Windows App开发】DatePickerTimepicker
- 034. asp.netWeb用户控件之三通过用户控件实现用户注册和登录
- awk字符串匹配与传参
- idea、Pycharm提高效率常用配置
- 企业微信-付款到员工零钱
- 印刷行业中,MES管理系统的功能应重点优化这三个方面
- java随机点名器_Java实现简单随机点名器
- adobe illustrator软件能做什么
- 云服务和传统服务器相比有哪些明显的优势
- 【判断是否为手机号】
- 聊聊华为校招流程及安排——23届实习、提前批、正式批(数字IC、FPGA逻辑、通信、软件等)
- 设计模式学习(八) 模板方法模式
- 边听边记-财经郎眼-国企改革 大风已起 151026
- day04 爬取豌豆荚app数据的两种方法
热门文章
- 这才是真正的用户增长
- 中国企业海外人才发展白皮书
- 半路出家学php可以吗,PHP半路出家(1)_PHP教程
- android打不开,android加入权限应用打不开
- 系统接口对接的进度工作应该谁来干_协同OA办公系统的选型要谨慎!浅谈其具体缘由有哪些...
- 【Julia】Julia使用Pkg下载镜像配置问题解决方案
- NUXT内存泄漏引发问题
- Vue还有这种骚操作?浅析几个新手常常忽略的API
- Android中文API(99)—— RelativeLayout
- python colorama模块