吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6746|回复: 19
收起左侧

[Python 原创] 【原创源码】python 爬取智联招聘

[复制链接]
lz270978971 发表于 2019-9-5 10:20
本帖最后由 lz270978971 于 2019-9-5 10:22 编辑

无聊,写了一个爬取智联的一个小爬虫
python版本:python3.7
依赖模块:selenium、pyquery
废话少说,上代码
[Python] 纯文本查看 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from pyquery import PyQuery as pq
import time


class ZhiLian:
    def __init__(self):
        # 设置 chrome 无界面化模式
        self.chrome_options = Options()
        self.chrome_options.add_argument('--headless')
        self.chrome_options.add_argument('--disable-gpu')
        self.driver = webdriver.Chrome(chrome_options=self.chrome_options)

    def get_url(self, search='python'):
        """
        获取搜索职位的url, demo里面默认搜索python
        :param search:
        :return:
        """
        self.driver.get("https://www.zhaopin.com/")
        element = self.driver.find_element_by_class_name("zp-search__input")
        element.send_keys(f"{search}")
        element.send_keys(Keys.ENTER)
        # 切换窗口
        self.driver.switch_to.window(self.driver.window_handles[1])
        # 等待js渲染完成后,在获取html
        time.sleep(4)
        html = self.driver.find_element_by_xpath("//*").get_attribute("outerHTML")
        return html

    def data_processing(self):
        """
        处理数据
        :return:
        """
        html = self.get_url()
        doc = pq(html)
        contents = doc(".contentpile__content__wrapper")
        for content in contents.items():
            jobname = content(".contentpile__content__wrapper__item__info__box__jobname__title").text()
            companyname = content(".contentpile__content__wrapper__item__info__box__cname").text()
            saray = content(".contentpile__content__wrapper__item__info__box__job__saray").text()
            demand = content(".contentpile__content__wrapper__item__info__box__job__demand").text()
            yield jobname, companyname, saray, ",".join(demand.split("\n"))


datas = ZhiLian().data_processing()
for data in datas:
    print(data)


这是结果图:

爬取结果截图

爬取结果截图


免费评分

参与人数 5吾爱币 +7 热心值 +5 收起 理由
姜修腾 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
gb0623 + 1 + 1 谢谢@Thanks!
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
萌鬼出没 + 1 + 1 谢谢@Thanks!
music984 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

newbie2019 发表于 2019-9-19 18:09
尝试跑了一下代码,出现错误提示,貌似现在要通过真人验证才能正常打开网页。楼主遇到这样的情况吗?出错信息如下:
[0919/180616.533:INFO:CONSOLE(1)] "鎮ㄥソ锛?鎴戜滑鏄?愭櫤鑱斿ぇ鍓嶇鈥嬨?戙??
鎴戜滑甯姪鑺歌姼浼楃敓鎵惧埌鏇村ソ鐨勫伐浣滐紝褰撶劧涔熶笉鎰块敊杩囪蛋鍦ㄥ墠绔箣宸呯殑鎮ㄣ??
鎴戜滑鍦?zpfe@group.zhaopin.com.cn 鎭?欐偍鐨勭畝鍘嗐??, source: https://fecdn1.zhaopin.cn/www/index.web.ef23d8.js (1)
[0919/180616.534:INFO:CONSOLE(1)] "%c            ___         ___      ___      ___
           /  /\       /  /\    /  /\    /  /\
          /  /::|     /  /::\  /  /:/   /  /:/
         /  /:/:|    /  /:/\:\/  /:/ /\/  /:/ /\
        /  /:/|:|__ /  /:/ /:/  /:/ /:/  /:/ /:/_
       /__/:/ |:| //__/:/ /:/__/:/ /:/__/:/ /:/ /\
       \__\/  |:|/:\  \:\/:/\  \:\/:/\  \:\/:/ /:/
           |  |:/:/ \  \::/  \  \::/  \  \::/ /:/
           |  |::/   \  \:\   \  \:\   \  \:\/:/
           |  |:/     \  \:\   \  \:\   \  \::/
           |__|/       \__\/    \__\/    \__\/
  color: #1787fb", source: https://fecdn1.zhaopin.cn/www/index.web.ef23d8.js (1)
[0919/180616.578:INFO:CONSOLE(1)] "adv锛氳姹傚紑濮?, source: https://fecdn1.zhaopin.cn/www/index.web.ef23d8.js (1)
[0919/180616.667:INFO:CONSOLE(1)] "adv锛氭暟鎹洿鏂版垚鍔燂紝鑰楁椂锛?8ms", source: https://fecdn1.zhaopin.cn/www/index.web.ef23d8.js (1)
[0919/180616.668:INFO:CONSOLE(1)] "adv锛氳姹傝繑鍥炴暟鎹紝鐢ㄦ椂 88ms", source: https://fecdn1.zhaopin.cn/www/index.web.ef23d8.js (1)
[0919/180617.621:INFO:CONSOLE(1)] "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu", source: https://static.geetest.com/static/js/fullpage.8.8.5.js (1)
[0919/180617.624:INFO:CONSOLE(1)] "The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu", source: https://static.geetest.com/static/js/fullpage.8.8.5.js (1)
ccbwx 发表于 2019-9-26 00:34
Exception ignored in: <function Popen.__del__ at 0x01243A08>
Traceback (most recent call last):
  File "D:\python3.7\lib\subprocess.py", line 860, in __del__
    self._internal_poll(_deadstate=_maxsize)
  File "D:\python3.7\lib\subprocess.py", line 1216, in _internal_poll
    if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
OSError: [WinError 6] 句柄无效。
氓之嗤嗤 发表于 2019-9-5 10:44
不错,有一定实际意义,能爬取更多招聘网站就更好了
氓之嗤嗤 发表于 2019-9-5 10:44
貌似没有指定地点?
Antigen 发表于 2019-9-5 10:49
看到Selenium就关闭了
TwilightZ 发表于 2019-9-5 11:13
支持一下,希望楼主做的更好,加油!
头像被屏蔽
tiange 发表于 2019-9-5 11:14
提示: 作者被禁止或删除 内容自动屏蔽
peterq521 发表于 2019-9-5 11:40
路过 支持一下 要是能有成品exe就好了
 楼主| lz270978971 发表于 2019-9-5 14:22
氓之嗤嗤 发表于 2019-9-5 10:44
貌似没有指定地点?

地点是默认你所在的城市
 楼主| lz270978971 发表于 2019-9-5 14:23
Antigen 发表于 2019-9-5 10:49
看到Selenium就关闭了

在爬取动态网站的时候,很好用,省的找接口了
头像被屏蔽
yike911 发表于 2019-9-9 21:41
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 11:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表