1. 程式人生 > 其它 >Python爬蟲入門教程:爬取boss直聘招聘資料並做視覺化展示

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條資料 每個地區的招聘數量 平均工資最高的地區 經驗學歷需求圖 招聘公司所在領域