Python爬虫,爬取51job上有关大数据的招聘信息

爬虫初学者,练手实战

最近在上数据收集课,分享一些代码。

分析所要爬取的网址

https://search.51job.com/list/000000,000000,0000,00,9,99,+关键词+,2,"+str(页数)+".html

导入selenium包

from selenium import webdriver#导入selenium包
from lxml import etree
from time import sleep
import xlwt
import requests

监测的规避

from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])

使用谷歌浏览器的方法实例化一个浏览器对象,传入谷歌浏览器驱动程序

brs=webdriver.Chrome(executable_path='C:\\Users\\v\\Desktop\\86chromedriver.exe')#执行此语句可以打开一个浏览器

伪装头部

如何获取自己电脑浏览器的伪装头部

  1. 打开浏览器
  2. 按F12,或者在浏览器空白处右击,点击检查(以谷歌为例)
  3. 查找自己的伪装头部
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.38 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.38"}

完整代码

from selenium import webdriver#导入selenium包
from lxml import etree
from time import sleep
import xlwt#写表格模块
import requests
#监测的规避
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_experimental_option('excludeSwitches',['enable-automation'])
#使用谷歌浏览器的方法实例化一个浏览器对象,传入谷歌浏览器驱动程序
brs=webdriver.Chrome(executable_path='C:\\Users\\v\\Desktop\\86chromedriver.exe')#执行此语句可以打开一个浏览器
#伪装头部
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.38 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.38"}
# response=requests.get(url=url,headers=headers)
salary=[]
city=[]
time=[]
job_name=[]
company_name=[]
p=0
x=1
workbook=xlwt.Workbook('utf-8')#写入表格编码方式
mysheet=workbook.add_sheet(sheetname='bigdata')
for i in range(1,65):#爬取1-65页url="https://search.51job.com/list/000000,000000,0000,00,9,99,数据分析,2,"+str(i)+".html"brs.get(url)page_text=brs.page_source#通过这个属性获取页面源码数据html=etree.HTML(page_text)# brs.find_element_by_xpath('//*[@id="keywordInput"]').send_keys('大数据')# brs.find_element_by_xpath('//*[@id="search_btn"]').click()page_text=brs.page_source#通过这个属性获取页面源码数据html=etree.HTML(page_text)brs.execute_script("window.scrollTo(0, document.body.scrollHeight);")#把页面下拉到底部job_name=job_name+html.xpath('//div[@class="e"]/a/p/span/@title')time=time+html.xpath('//div[@class="e"]/a/p/span[@class="time"]/text()')city=city+html.xpath('//div[@class="e"]/a/p[2]/span[2]/text()')   company_name=company_name+html.xpath('//div[@class="er"]/a/text()')salary=salary+html.xpath('//div[@class="e"]/a/p/span[@class="sal"]/text()')sleep(1)#睡眠1秒,防止被网站监测到for x in range(1,51):element = brs.find_element_by_xpath('//div[@class="j_joblist"]/div[{}]/a'.format(x))brs.execute_script("arguments[0].click();", element)all_h=brs.window_handlesbrs.switch_to.window(all_h[1])html =etree.HTML(brs.page_source)describe=html.xpath('//div[@class="tCompany_main"]//div[@class="bmsg job_msg inbox"]/p/text()')mysheet.write(p,5,describe)p=p+1print(describe)brs.close()brs.switch_to.window(all_h[0])
#把列表中的数据写入表格
for i in range(len(company_name)):mysheet.write(i,0,company_name[i])
for i in range(len(job_name)):mysheet.write(i,1,job_name[i])
for i in range(len(city)):mysheet.write(i,2,city[i])
for i in range(len(salary)):mysheet.write(i,3,salary[i])
for i in range(len(time)):mysheet.write(i,4,time[i])sleep(5)#停留5秒关闭浏览器
brs.quit()#关闭浏览器
workbook.save('bigdata.xlsx')#保存表格

运行结果

python代码运行结果:

表格内容:

Python爬虫,爬取51job上有关大数据的招聘信息相关推荐

  1. python爬虫爬取网页上的天气数据

    目录 一:获取网页重要信息 二:爬取网页数据 三:源码分享 一:获取网页重要信息 在要爬取数据信息的网页上,F12进入查看网页内容 二:爬取网页数据 1 导入模块 import requests fr ...

  2. python 浏览器下载文件_同样一个下载地址,用python爬虫爬取的种子文件大小为0,而用浏览器是可以正常下载下来的?...

    1.访问某个网页,用浏览器可以下载其中嵌入的种子文件,种子文件大小是正常的,用迅雷工具也可以正常下载,但是用python爬虫爬取,并且下载下来的数据大小为0? 2.这是我自己写的代码. url = ' ...

  3. 【教程+实例】Python爬虫实例——用Python爬虫爬取bangumi上的galgame资讯

    文章目录 0.前言 1.什么是爬虫? 2.什么东西可以爬? 3.简易爬虫示例 4.如何筛选数据? 5.正则表达式 6.最终代码 如何修改代码,以适应自己的需求 效果截图 7.彩蛋 本人与知乎用户间宫羽 ...

  4. 轻松利用Python爬虫爬取你想要的数据

    网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL. 2.将这些URL放入待抓取URL队列. 3.从待抓取URL队列中读取待抓取队列的URL,解析DNS,并且得到主机的IP,并将UR ...

  5. Python爬虫 爬取酷狗TOP500的数据

    根据书籍<从零开始学Python网络爬虫>P41,综合案例2-爬取酷狗TOP500的数据修改而来. 使用模块requests和模块BeautifukSoup进行爬取. 不得不说,酷狗拿来跑 ...

  6. Python爬虫—爬取某网站上面所有的世界港口信息数据

    最近学习了一段时间的Python基础语法后,写了一个爬取世界港口数据的爬虫,并且保存到SQL Server 数据库. 前提 公司之前有个需求是想监控集装箱如果进出某个港口的时候能给出信息提示,并且与海 ...

  7. python爬虫|爬取亚马逊商品库存数据(Selenium实战)

    前言 很多人把selenium爬虫称之为可视化爬虫,之所以这样认为,主要在于selenium爬虫主要是模拟人的点击操作,而selenium驱动浏览器并进行操作的过程是可以观察到的.换言之,就是你在看着 ...

  8. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中

    Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...

  9. Python爬虫---爬取数据(上)

    又是女票,拿了3万多条的13年某地区的公司信息,但是三年过去了,工商局的注册信息发生了巨大变化,有的注册资本增加了,有的公司老板变多了,更有不少公司不存在了,因此,需要一份最新的信息以便于她进行使用. ...

最新文章

  1. 完全理解Python迭代对象、迭代器、生成器
  2. CentOS7环境搭建使用PhpStorm上传代码
  3. Java基础day24
  4. JQuery Highcharts 图表控件
  5. reverse-nodes-in-k-group
  6. Spring Data JPA整合Redis缓存的配置
  7. python基础--面向对象初始
  8. 基于HMM的语音识别技术原理
  9. Java配置Path
  10. 上海电信网关限制连接设备上限解决方法
  11. 经验谈:写给新手的反激变压器KRP详解
  12. elasticsearch 如何清理过期的数据
  13. 梅西大学研究员创造出新3D打印系统 用螺杆作为进料机构挤出颗粒
  14. 区块链之搭建区块链平台及智能合约的编写
  15. 【官方文档】Fluent Bit 简介
  16. Python通过word模板生成新的word文件
  17. geany配置python_python使用Geany编辑器配置方法
  18. HTTP状态 500 - 内部服务器错误java.lang.NullPointerException
  19. 使用tcpdump查看原始数据包
  20. 射频器件的基本参数1

热门文章

  1. 个人计算机全都是多媒体计算机系统组成,多媒体计算机系统组成
  2. 计算机二级和英语六级什么时候出成绩,英语四六级口语考试成绩确定标准是什么?成绩何时发布?...
  3. 2022 年最值得学习的 10 种编程语言 [更新]
  4. 华东理工大学的计算机系,华东理工大学计算机系介绍
  5. Python 数据分析之双色球高频数据统计
  6. UVa 10387 - Billiard
  7. vce数学考试能用计算机,准备VCE数学考试的诀窍,从一本出色的笔记开始!
  8. DirectAdmin升级phpMyAdmin版本
  9. 判断魔方阵c语言程序设计_魔方阵算法及C语言实现
  10. 四阶魔方邻角互换公式