Python爬蟲入門教程:爬取boss直聘招聘數據並做可視化展示


本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理。
 
基本開發環境
 
Python 3.8
Pycharm

 

相關模塊的使用
 
from selenium import webdriver
import csv

 

安裝Python並添加到環境變量,pip安裝需要的相關模塊即可。
如圖所示,通過 Python 來控制 Selenium,然后讓 Selenium 控制瀏覽器,操縱瀏覽器,這樣就實現了使用Python 間接的操控瀏覽器。
 
兄弟們學習python,有時候不知道怎么學,從哪里開始學。掌握了基本的一些語法或者做了兩個案例后,不知道下一步怎么走,不知道如何去學習更加高深的知識。
那么對於這些大兄弟們,我准備了大量的免費視頻教程,PDF電子書籍,以及視頻源的源代碼!
還會有大佬解答!
都在這個群里了【點我進Python學習交流裙
歡迎加入,一起討論 一起學習!
 
Selenium具體怎么就能操縱瀏覽器呢?這要歸功於 瀏覽器驅動 ,Selenium可以通過API接口實現和瀏覽器驅動的交互,進而實現和瀏覽器的交互。
所以要配置瀏覽器驅動。
本教材使用版本:
火狐驅動:geckodriver 0.23.0 ( 2018-10-04)
火狐驅動下載地址: http://npm.taobao.org/mirrors/geckodriver/
谷歌驅動:ChromeDriver 71.0.3578.33
谷歌驅動下載地址:
https://npm.taobao.org/mirrors/chromedriver/
http://chromedriver.storage.googleapis.com/index.html
 
配置瀏覽器驅動:
將下載好的瀏覽器驅動解壓,將解壓出的 exe 文件放到Python的安裝目錄下,也就是和python.exe同目錄即可。
 
 
代碼實現
 
from selenium import webdriver
import csv

f = open('data.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '標題',
    '地區',
    '薪資',
    '經驗',
    '公司名',
    '公司領域',
    '福利',
    '詳情頁',
])
csv_writer.writeheader()
driver = webdriver.Chrome()

driver.get('https://www.zhipin.com/job_detail/?query=python&city=100010000&industry=&position=')
driver.implicitly_wait(10)


def get_job_info():
    lis = driver.find_elements_by_css_selector('.job-list li')
    for li in lis:
        # 標題
        title = li.find_element_by_css_selector('.job-name a').get_attribute('title')
        # 地區
        area = li.find_element_by_css_selector('.job-area').text
        # 薪資
        money = li.find_element_by_css_selector('.job-limit .red').text
        # 經驗
        limit = li.find_element_by_css_selector('.job-limit p').text
        # exp = limit[0].text
        company_name = li.find_element_by_css_selector('.company-text .name a').text
        company_type = li.find_element_by_css_selector('.company-text p a').text
        desc = li.find_element_by_css_selector('.info-append .info-desc').text
        href = 'https://www.zhipin.com/' + li.find_element_by_css_selector('.job-name a').get_attribute('href')
        print(title, area, money, limit, company_name, company_type, desc, sep='|')
        dit = {
            '標題': title,
            '地區': area,
            '薪資': money,
            '經驗': limit,
            '公司名': company_name,
            '公司領域': company_type,
            '福利': desc,
            '詳情頁': href,
        }
        csv_writer.writerow(dit)

 

數據可視化
只是獲取前10頁的數據內容,總計是300條數據
每個地區的招聘數量
 
平均工資最高的地區
經驗學歷需求圖
招聘公司所在領域

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM