利用selenium爬取boss直聘
正在通过boss直聘求职,然后见网上有需求boss直聘的职位大数据的,就简单写了一下,发现boss直聘的反爬机制还是比较友好的,首先不需要登陆就可以获取所有的职位信息,其次如果想要避过boss反爬成功访问,使用selenium完全可以直接访问,也就意味着如果使用requests的话,只要仿造一下请求头就可以完成,其中需要注意一下的是,boss直聘对爬虫此类的辨别主要体现在看访问的速率,笔者在完成爬虫时,大概一个ip可以访问3到4页,如果访问速度慢一点的话,也许可以更多,所以最好是可以构造一下ip池,几个ip协同访问就可以完成爬虫,再次把代码放一下吧,和原先一样核心代码我隐藏了,需要的话call我。
上一篇呢写过一个爬取淘宝的代码,有想看的也可以看一下。
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time
import requests
import csvchromeOptions = webdriver.ChromeOptions()
# 设置代理
chromeOptions.add_argument("--proxy-server=http://117.93.19.224:4232 ")
driver = webdriver.Chrome(chrome_options = chromeOptions)
driver.get('https://www.zhipin.com/?sid=sem_pz_sgpc_title')
#选址部分
cxxx='java'
driver.find_element_by_xpath("//*[@id='wrap']/div[4]/div/div/div[1]/form/div[2]/p/input").clear() #清空搜索
driver.find_element_by_xpath("//*[@id='wrap']/div[4]/div/div/div[1]/form/div[2]/p/input").send_keys(cxxx) #键入内容
driver.maximize_window() #放大
driver.find_element_by_xpath("//*[@id='wrap']/div[4]/div/div/div[1]/form/button").click() #点击查找
time.sleep(30)
driver.find_element_by_xpath("//*[@class='btn-allcity']").click() #点击全部城市
time.sleep(2)
driver.find_element_by_xpath("//li[text()='ABCDE']").click() #点击BCDEFG
time.sleep(2)
driver.find_element_by_xpath("/html/body/div[2]/div[2]/div[2]/div/ul[2]/li[2]/ul/li[1]/span").click() #北京
driver.find_element_by_xpath("//*[@id='filter-box']/div/div[1]/div/form/div[1]/p/input").clear() #清空搜索
driver.find_element_by_xpath("//*[@id='filter-box']/div/div[1]/div/form/div[1]/p/input").send_keys(cxxx) #键入内容
driver.find_element_by_xpath("//*[@id='filter-box']/div/div[1]/div/form/button").click() #点击查找
#选址部分结束
time.sleep(3)
#接下来进入遍历状态
a=driver.find_elements_by_xpath("//span[@class='job-name']") #a是遍历的总体内容
suma = len(a) #限制遍历次数
i=0
fy=open('text.txt')#刚开始打开时的翻页控制
ym=fy.read()
ym=int(ym)
fy.close() #翻页控制
while(i<=suma):time.sleep(3)all_handle = driver.window_handlesdriver.switch_to_window(all_handle[-1]) #切换完成a=driver.find_elements_by_xpath("//span[@class='job-name']") #a是遍历的总体内容if(i==suma):js="var q=document.documentElement.scrollTop=100000" #翻到页尾driver.execute_script(js) #翻到页尾driver.find_element_by_xpath("//a[@ka='page-next']").click() #a是遍历的总体内容 //*[@id="main"]/div/div[2]/div[2]/a[6]i=0continuea[i].click()i=i+1all_handle = driver.window_handlesdriver.switch_to_window(all_handle[-1]) #切换到子网页页柄#对于其中的内容进行提取try:print("隐藏")except:print("出错了!")driver.close()
利用selenium爬取boss直聘相关推荐
- python爬取boss直聘招聘信息_年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备...
原标题:年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备 前言 为什么都说程序员的薪资高,但是刚开始入职的你,薪资并不是自己想象中的那样,首先是你的工作经验不足,其次就是需要不断的 ...
- part1 selenium爬取BOSS直聘信息
首先我们先梳理一下需求:想要使用的工具,想要获取的信息,以及想要保存的位置 其次可以选择常规方式书写也可以考虑面向对象的方式进行功能封装 这里采用常规方式书写 关键需要注意的点也已注释的方式写出 im ...
- 【python爬虫】在scrapy中利用代理IP(爬取BOSS直聘网)
同学们好,我又滚回来更新了,这一次我们要爬取的目标是BOSS直聘,BOSS直聘可以说是反爬虫一个很好的例子了,主要在于如果你访问他的次数过多,他就会出现验证码,要求你通过验证才能继续看,这样还算可以, ...
- 爬取boss直聘数据并分析
爬取boss直聘数据并进行分析 1. 爬取boss直聘数据 因为高匿的代理IP要钱,所以小编只能通过增大时间间隔并利用selenium自动化库模拟人自然浏览网站来爬取数据,最终获得北京,上海,杭州,广 ...
- 【数据分析项目实战】Python爬取BOSS直聘岗位和数据分析
说明:这是一个数据分析项目全流程(附带项目实例),本篇教程来源于网络,胖哥对此进行了完整的梳理,并把用到的数据+代码完全奉上.如需数据+完整代码可以直接到文章最后获取. 这里面的数据,我只爬取了部分, ...
- Python使用BeautifulSoup与selenium爬取Boos直聘
Hello,我是普通Gopher,00后男孩,极致的共享主义者,想要成为一个终身学习者.专注于做最通俗易懂的计算机基础知识类公众号.每天推送Golang技术干货,内容起于K8S而不止于K8S,涉及Do ...
- 爬取boss直聘上面的数据遇见的问题解析,是真不难!
概述 boss直聘(https://www.zhipin.com/)是现在互联网招聘比较火热的一个网站,本篇文章主要是针对爬取boss直聘数据遇见的一些问题进行解析. 为什么要爬取boss直聘? 哈哈 ...
- Scrapy 简易爬取Boss直聘 可设定city job 爬取工作到excel或mysql中
2018-5-17 一. 本篇讲述了如何编写利用Scrapy爬虫,把数据放入到MYSQL数据库中和写入到excel中,由于笔者之前爬取过拉勾网,但个人倾向与Boss直聘,所以再次爬取Boss直聘来作为 ...
- 爬虫之爬取Boss直聘
爬取Boss直聘主要有以下难点: 在不登陆的情况下最多爬十页就会出现手动打码验证 出现大概五六次手动打码后就会封禁ip地址,封禁1天的时间 解决办法 1.切换ip 这里我尝试过很多收费代理,免费代理, ...
最新文章
- Spring Framework 5.2.5 发布,增加对 Java 14 的支持
- Progressive Web App是一个利用现代浏览器的能力来达到类似APP的用户体验的技术——不就是chrome OS吗?...
- 003_Redis配置
- 1.19 String、StringBuffer和StringBuilder类的区别
- php curl 发送https请求失败,php的curl扩展无法发起https请求
- Java不是文明语言吗?
- JavaScript 演练(4). 回调函数
- ubuntu 16.04 安装 google浏览器
- android蓝牙5.0扫描失败,bluetooth-lowenergy – BLE扫描的解决方案SCAN_FAILED_APPLICATION_REGISTRATION_FAILED?...
- paip.提升用户体验与安全性---注册流程总结
- 数据库设计说明书的编写
- [论文阅读] 激光点云分割-RPVNet
- pe 引导win7镜像 激活
- 【网易互娱模拟笔试】解题记录
- 二进制转换成十进制(C语言)
- pdf转word ocr_最强PDF转WORD软件:ABBYY FineReader
- 代码审计-凡诺CMS 2.1文件包含漏洞
- UVA-12304 测试圆相关模板
- Dapper - 论文 中文版 大规模分布式系统的跟踪系统
- locust之执行方式
热门文章
- UE4数字孪生项目开发学习大纲
- 标宋2号 仿宋3号 调整行间距
- discord验证无法通过_如何通过Discord的“上线”直播
- 电力行业信息系统的尖,峰,平,谷的英文翻译
- java社交婚恋交友app源码 安卓原生app+后台Spri ngMVC+Mybatis+mysql
- 7个神奇的jQuery 3D插件
- LOL服务器人数最新,2021LOL哪个区人多
- ffmpeg命令:rtp音频推流拉流
- MySQL 5.7 安装教程(全步骤图解教程)
- 联想拯救者r720适合java么_联想拯救者R720重装Win10系统的正确姿势