爬蟲項目 智聯-職位信息爬取

根據關鍵詞,爬取智聯職位相關信息

工具/原料

Python3
pycharm

方法/步驟

import timeimport jsonimport urllib.requestimport urllib.parsefrom bs4 import BeautifulSoup

def main():    '''主函數'''    # 提示用戶輸入城市名稱    city = input('請輸入要爬取的城市名稱:')    # 提示用戶輸入崗位關鍵字    kw = input('請輸入要爬取的崗位名稱:')    # 提示用戶輸入爬取的頁碼    start_page = int(input('請輸入起始頁碼:'))    end_page = int(input('請輸入結束頁碼:'))    zhilian = ZhiLianZhaoPin(city, kw, start_page, end_page)    zhilian.run()if __name__ == '__main__':    main()

class ZhiLianZhaoPin(object):    '''class'''    def __init__(self, city, kw, start_page, end_page):        # 保存到成員屬性        self.city = city        self.kw = kw        self.start_page = start_page        self.end_page = end_page        self.url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?'        # 聲明一個空列表,保存字典信息        self.items = []    def parse_content(self, page, content):        '''一級解析函數'''        # 創建soup對象        soup = BeautifulSoup(content, 'lxml')        table_list = soup.find_all('table', class_="newlist")[1:]        # print (table_list[0])        for table_content in table_list:            # 獲取信息            href_list = table_content.select(" tr > td > div > a")            # print(href_list)            href = href_list[0]['href']            print(href)            # # 反饋率            # fklv = str(table_content.select('.new_list > tr > .fk_lv')[0].text) + "反饋率"            # print(fklv)            # 第二級查找            self.parse_content2(page, href)    def parse_content2(self, page, href):        '''二級解析函數'''        # 創建請求對象        request = self.handle_request(page, href)        # 獲取內容        content = urllib.request.urlopen(request).read().decode('utf8')        # 解析        # pattern = re.compile(r'')        soup = BeautifulSoup(content, 'lxml')        # 職位名稱        job_name = soup.h1.text        # print(job_name)        # 公司名稱        company_name = soup.h2.text        # print(company_name)        # 福利待遇        fldy = soup.find('div', class_="welfare-tab-box").text        # print(fldy)        # 招聘信息        information = soup.select('.terminalpage-left > ul')[0].text.replace('\n',' ')        # print(information)        # 任職要求 工作地址        job_requirements = soup.select('.tab-inner-cont')[0].text.replace('\n', ' ')        # print(job_requirements)        # 保存為字典格式        item = {            '職位名稱': job_name,            '公司名稱': company_name,            '福利待遇': fldy,            '招聘信息': [information],            '任職要求與工作地點': job_requirements        }        # 添加進列表        self.items.append(item)        time.sleep(1)    def run(self):        '''運行函數'''        for page in range(self.start_page, self.end_page + 1):            request = self.handle_request(page)            content = urllib.request.urlopen(request).read().decode('utf8')            print('開始保存第%s頁。。。' % page)            # 解析函數            self.parse_content(page, content)            string = json.dumps(self.items, ensure_ascii=False)            json_path = self.kw + '.json'            with open(json_path, 'w', encoding='utf8') as fp:                fp.write(string)            print('第%s頁保存完畢' % page)    def handle_request(self, page=0, href=None):        '''請求函數'''        data = {            'jl': self.city,            'kw': self.kw,            'p': page,        }        # 處理data,拼接url        data = urllib.parse.urlencode(data)        url = self.url + data        print(url)        headers = {            'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',        }        if href:            return urllib.request.Request(url=href, headers=headers)        else:            return urllib.request.Request(url, headers=headers)

[  {    "招聘信息": [      " 職位月薪:15000-20000元/月  工作地點:北京 發布日期:2018-07-24 14:39:49 工作性質:全職 工作經驗:3-5年 最低學歷:本科 招聘人數:1人  職位類別:軟體研發工程師 "    ],    "公司名稱": "慧澤商通(北京)科技有限公司 ",    "職位名稱": "python開發工程師",    "福利待遇": " 績效獎金全勤獎五險一金交通補助餐補通訊補貼帶薪年假定期體檢 ",    "任職要求與工作地點": " 崗位職責1、參與SaaS平台搭建及企業雲應用研發工作(外貿行業貨代及貿易商雲管理系統)2、負責外部系統對接(如訂艙平台、金融平台、釘釘),連接外貿供應鏈3、與產品人員協作,理解產品需求,提供可行技術方案,快速完成JIRA上的日常開發任務4、參與SaaS Docker部署、維護,基於運維監控數據、客戶反饋進行代碼優化5、負責相關技術文檔的編寫、技術培訓/分享任職要求1、計算機相關專業,統招本科及以上學歷,2年以上Python開發經驗;2、精通Python開發,熟悉HTML5/CSS和XML3、具備豐富的邏輯編程經驗,精通Python編程,掌握Python的高效寫法4、熟悉Linux/Unix開發環境,熟悉Git,熟悉敏捷開發流程5、具有Odoo、SaaS雲平台、ERP項目、外貿業務系統開發經驗者優先; 工作地址:  北京市東城區朝陽門北大街8號富華大廈F座7層 查看職位地圖     "  },  {    "招聘信息": [      " 職位月薪:面議  工作地點:北京 發布日期:2018-07-24 13:11:01 工作性質:全職 工作經驗:不限 最低學歷:本科 招聘人數:1人  職位類別:軟體研發工程師 "    ],    "公司名稱": "智聯招聘網/Zhaopin.com ",    "職位名稱": "Python開發工程師(安全方向)",    "福利待遇": " 14薪節日福利彈性工作員工旅遊定期體檢 ",    "任職要求與工作地點": " 崗位職責: 1、負責風控系統的設計與開發, 包括規則引擎、業務api接口以及風險管理後台 2、配合安全數據分析團隊推進機器學習的在風控系統的實際落地應用  任職要求: 1、具備1年以上python後端研發經驗 2、熟練使用正則表達式、熟悉多線程與多進程 3、熟悉Http協議,了解TCP/IP協議 4、有業務風控系統開發經驗優先 5、具備爬蟲、安全、數據分析經驗優先 工作地址:  首開廣場 查看職位地圖     "  },  {    "招聘信息": [      " 職位月薪:20000-40000元/月  工作地點:北京 發布日期:2018-07-24 14:08:07 工作性質:全職 工作經驗:不限 最低學歷:本科 招聘人數:1人  職位類別:高級軟體工程師 "    ],    "公司名稱": "拓天偉業(北京)資產管理集團有限公司 ",    "職位名稱": "Python高級開發工程師",    "福利待遇": " 節日福利五險一金績效獎金年終分紅加班補助房補帶薪年假員工旅遊 ",    "任職要求與工作地點": " 崗位職責:1、Web後端業務邏輯層、數據層的實現。2、負責應用的高級設計師、功能實現並進行測試及部署。任職要求:1、統招全日制本科及以上學歷,計算機及相關專業,紮實的計算機基礎知識。2、3年以上Web開發經驗,精通Python程序設計、熟悉Flask、django或Tornado等框架。3、熟悉Linux操作環境,熟練使用Mysql、Nginx、MongoDB、Redis。4、良好的系統分析設計能力,文檔管理能力及變成習慣。5、溝通能力強,具有良好的團隊合作意識。 工作地址:  總公司:北京市豐臺區洋橋12號天路藍圖大廈     "  },  {    "招聘信息": [      " 職位月薪:15000-25000元/月  工作地點:北京 發布日期:2018-07-24 13:29:51 工作性質:全職 工作經驗:3-5年 最低學歷:本科 招聘人數:2人  職位類別:高級軟體工程師 "    ],    "公司名稱": "柔持(北京)科技有限公司 ",    "職位名稱": "Python後端開發工程師",    "福利待遇": " 不加班彈性工作餐補通訊補貼 ",    "任職要求與工作地點": " 工作職責:1、參與面向前台用戶和面向後台管理的綜合業務系統的需求分析、技術選型和工作量評估;2、配合前端開發人員完成後端服務的開發和前端Web應用的對接;3、服從項目的目標和任務安排,配合團隊完成開發任務指標;4、後端服務代碼的日常維護;5、不斷優化代碼,應用前沿技術,不斷提高後端服務性能;任職要求:1、大學本科以上學歷,計算機等相關專業;2、3年以上Python服務端開發經驗,熟悉Linux環境下的開發;3、熟悉MVC架構,精通Flask、Tornado、Django等至少一個開發框架;4、參與或主導過CRM、ERP等後台管理系統開發者優先;5、具備良好的編碼習慣及開發文檔書寫習慣;6、具有優秀的團隊合作和溝通協作能力,善於學習,樂於分享,能承受較大工作壓力。 工作地址:  柔持(北京)科技有限公司 查看職位地圖     "  },

。。。

}

]

注意事項

注意:自己安裝所需要的包

相關文章

  1. 智聯招聘怎麼發布招聘信息

    有些時候,我們公司要招聘的話,是需要進行發布職位的,我們就看看怎麼在智聯上發布吧. 方法/步驟 首先,我們建議是先和智聯的人打電話,然後告訴他們招聘的具體信息,時間,然後他們會直接給我們一個帳號的,我 ...
  2. 企業如何在智聯招聘刷新發布中的職位

    想提升已發布職位的排名?想提高職位的瀏覽量和簡歷投遞量?下面從PC端與微信端給到方法. 工具/原料 智聯企業帳號 微信號 方法/步驟 首先介紹PC端:百度智聯招聘或直接輸入智聯招聘網址打開,選擇企業用 ...
  3. 智聯招聘的職位收藏夾在哪裡

    智聯招聘這個平台相信很多人也在用吧,會用到裡面的職位收藏的功能,先把職位先收藏下來過後方便查找.我最近也上了下智聯招聘並收藏些職位,但是後來找了很久都沒找到職位收藏夾,在智聯網的操作說明居然還是舊版本 ...
  4. 智聯招聘職位發布需要注意些什麼

    HR在招聘工作中具備良好的職位發布技巧,將可以使得自家的招聘職位獲得更多的簡歷投遞,提升招聘效率,增強招聘效果. 工具/原料 智聯招聘企業帳號 電腦一台 方法/步驟 職位名稱要規範,充分利用15個字的 ...
  5. 智聯招聘怎麼發布免費招聘信息?

    大家都知道智聯招聘網站具有一定的影響力,大家都想在智聯上發布招聘信息或者找工作,但是有些公司只需要招很少的一部分人,開個會員又得好多錢,不划算,那怎麼樣才能既不花錢又能招到心儀的人才呢?接下來小編為大 ...
  6. 智聯上怎麼發布職位

    現在網絡招聘盛行,各大網站上如何發布招聘信息,有要注意些什麼呢?今天簡單介紹一下智聯上如何發布招聘信息,希望對新晉HR有一定的幫助. 工具/原料 瀏覽器 方法/步驟 打開瀏覽器,輸入"智聯& ...
  7. python 爬蟲 入門 爬取新浪新聞

    一提到python,大家經常會提到爬蟲,爬蟲近來興起的原因我覺得主要還是因為大數據的原因,大數據導致了我們的數據不在只存在於自己的伺服器,而python語言的簡便也成了爬蟲工具的首要語言,我們這篇文章 ...
  8. java爬蟲框架webmagic的搭建與示例,爬取csdn

    最近在搗鼓python,被python的神話傳說洗腦了,用了一陣才發現也沒有真的那麼牛逼,關鍵還是看用熟悉哪個,而且python相對java的簡略,其實也是有利有弊,自由度高了,項目一大,可讀性就降低 ...
  9. 如何找到智聯招聘的職位收藏夾

    智聯招聘的職位收藏夾比較隱蔽,本篇帶你找到它! 工具/原料 網絡 智聯招聘 方法/步驟 百度搜尋 智聯招聘 . 輸入帳號密碼登錄. 點擊 簡歷中心. 點擊右上角的 小人圖像,下拉菜單選擇 我的收藏. ...
  10. 智聯招聘的職位收藏夾在哪裡,該怎麼找

    我們在找工作的時候經常會用到智聯招聘,那麼智聯招聘的職位收藏夾在哪裡呢?小編分享下自己的方法,希望能幫助到有需要的小夥伴. 方法/步驟 打開電腦的瀏覽器,搜尋智聯招聘,找到智聯招聘的官方網站,見下圖 ...
  11. 使用selenium爬取二手房源信息

    房價總是一路高啊,高得仰起頭看都要扭到脖子了,但是呢,做人還是要有目標的,提前了解市場,研究一下自己喜歡地區的放假還是有作用的,萬一有撿漏呢~今天利用selenium爬取58上的二手房信息. 工具/原 ...
  12. 刷新智聯,讓你的職位靠前

    做為招聘的HR,每天最痛苦莫過於網站投遞的簡歷過少.本次招聘小能手將帶您利用智聯招聘的職位刷新功能,提升職位排名,吸引更多優秀人才! 工具/原料 智聯招聘企業帳號一個 方法/步驟 將常用的招聘網站,登 ...
  13. 爬蟲是什麼?淺談爬蟲及繞過網站反爬取機制

    爬蟲是什麼呢,簡單而片面的說,爬蟲就是由計算機自動與伺服器交互獲取數據的工具.爬蟲的最基本就是get一個網頁的原始碼數據,如果更深入一些,就會出現和網頁進行POST交互,獲取伺服器接收POST請求後返 ...
  14. 智聯招聘如何發布新職位

    金三銀四的季節又到了,招聘和跳槽一般都是同步運行的,所以說招聘又要開始啦~分享下智聯的新職位發布的流程,希望能夠幫助到你們~ 方法/步驟 當然,在發布之前,你得有智聯的企業帳號才可以哦.登錄用戶名和密 ...
  15. 怎麼提高爬蟲爬取速度

    怎麼提高爬蟲爬取速度?怎麼優化網站提高爬蟲爬取網頁速度?提升網站爬蟲爬取網頁速度的方法. 工具/原料 網站 方法/步驟 直接提交搜尋引擎網址 通過搜尋引擎的網址提交,將網站的連結提交給搜尋引擎,讓爬蟲 ...
  16. python爬取網頁信息並將爬取的文件寫入excel

    啥也不說,上爬蟲 方法/步驟 環境準備:pip install openpyxl 參考網址:https://blog.csdn.net/dick633/article/details/79933772 ...
  17. 爬蟲如何防止數據重複爬取

    本文介紹爬蟲如何防止數據重複爬取數據 方法/步驟 我們在做爬蟲程序的時候,如果是爬取內容相對固定的內容,比較容易避免內容的重複爬取. 但是,如果爬取的內容是一直變化的,如某個內容的頁碼是實時變化的,那 ...
  18. 智聯測評系統如何操作

    智聯測評是人力資源行業經常使用的工具. 方法/步驟 1."新建項目"分為"線上考試"."線下機考"."離線機考",新建好 ...
  19. python使用requests爬取網頁出現中文亂碼

    在python中,若使用requests庫來抓取網頁,當遇到中文頁面時,容易出現亂碼問題.這是由於字符編碼問題引起的. 在requests中有提供相應的辦法,通過指定encoding,基本可以解決問題 ...
  20. 智聯招聘上怎麼查看人事經理來信?

    對於很多找工作的人來說,在網上投簡歷是不可避免的一個環節,那麼當我們在網上投完簡歷之後,需要怎麼做才能查看到自己的哪些簡歷被人事經理看過,哪些人事經理來信通知我們去面試了呢? 工具/原料 電腦,網絡 ...