IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> selenium 爬取智联招聘职位信息 -> 正文阅读

[开发测试]selenium 爬取智联招聘职位信息

我们首先观察url规律:

https://sou.zhaopin.com/?jl=653&kw=%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96&p=1

参数:
jl(joblist):职位总数
kw(keywords):关键词
p(page):第几页

然后,我们只需要在一个循环里,指定p的值,就能访问到所有的页面。

#使用循环,设定 url中 最后一个参数 p 的值
for i in range(1,10):
    #访问网页 https://sou.zhaopin.com/?jl=653&kw=%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96&p= i

这里,我们选择让程序阻塞在输入处,手动登录后,再输入任意内容继续进行抓取。

#此处暂停一下,等待浏览器打开网页, 手动登录之后, 在输入任意字符,继续执行
input("input any to continue")

职位具体信息,需要鼠标浮动到职位标签上:

同时,使用键盘进行页面滚动(经测试,这种方法最稳定),保证鼠标能浮动到标签上。??

完整代码:

from selenium import webdriver
from selenium.webdriver.common.action_chains import *
from selenium.webdriver.common.keys import Keys
import time

#设置chrome浏览器的驱动程序路径
chrome_path="C:\\Users\\Administrator\\AppData\\Local\\google\\Chrome\\Application\\chromedriver.exe"
#使用chromedriver 创建一个浏览器对象
browser = webdriver.Chrome(chrome_path)
#使用浏览器对象打开网址,其中,网址的参数是 经过了 编码转化的,其实是 jl=653&kw=数据可视化&p=1. p=1 表示 第一页,jl=653 表示有 653 个结果
#这个url是,通过手动访问 智联招聘 网址 观察出来的
browser.get('https://sou.zhaopin.com/?jl=653&kw=%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96&p=1')

#此处暂停一下,等待浏览器打开网页, 手动登录之后, 在输入任意字符,继续执行
input("input any to continue")
#打开记录 爬取数据的文件
f = open("data.txt","w",encoding="utf-8")

#使用循环,设定 url中 最后一个参数 p 的值,来爬取多个页面,这里爬取 1-9页,第0页已经打开了
for i in range(1,10):
    try:
        #等待页面加载,睡眠3s
        time.sleep(3)
        #拿到body 标签
        body = browser.find_element_by_tag_name("body")
        #拿到职位div,鼠标浮动在上面会显示  职位 要求 等信息,这是我们需要的
        showList = browser.find_elements_by_class_name("iteminfo__line1__jobname__name")
        # 这个div 中会 存储 具体的职位信息,很多,所以是个数组
        joblist = browser.find_elements_by_xpath("//div[@class='positionlist']/div[@class='joblist-box__item clearfix']")
        
        #遍历 职位div 和职位信息 
        for i in range(len(joblist)):
            info = []
            it=showList[i]
            job=joblist[i]
            # 滚动网页,通过按 键盘的 下建, 按3次
            body.send_keys(Keys.DOWN)
            body.send_keys(Keys.DOWN)
            body.send_keys(Keys.DOWN)
            time.sleep(0.5)
            # 将鼠标浮动到 标签上, 让职位信息 显示出来
            ActionChains(browser).move_to_element(it).perform()
            #记录下职位名称
            info.append(it.text)
            time.sleep(1)

            #获取到 职位信息,它们都在 <p>标签里
            info_detail = job.find_element_by_xpath(".//div[@class='info-detail']")
            info_detail_content = info_detail.find_element_by_xpath(".//div[@class='info-detail__content']/div[@class='info-detail__content-text']")
            plst = info_detail_content.find_elements_by_xpath(".//p")
            time.sleep(0.5)

            #循环将它们记下来
            ilst = []
            for p in plst:
                ilst.append(p.text)
            info.append(ilst)
            print(info)
            #写到文件中
            if ilst:
                f.write(str(info)+"\n")
                f.flush()
        #进行下一个网页的抓取
        browser.get('https://sou.zhaopin.com/?jl=653&kw=%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96&p='+str(i))
    except Exception as e:
        print(e)
        break
f.close()

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:32:02  更:2021-10-06 12:33:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 3:01:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码