Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
生活随笔
收集整理的這篇文章主要介紹了
Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、基本思路
目標url:https://www.lagou.com/
用selenium爬蟲實現,輸入任意關鍵字,比如 python 數據分析 ,點擊搜索,得到的有關崗位信息,爬取下來保存到Excel。
?
?
有30頁,每個頁面有15條招聘信息。
二、selenium爬蟲 from selenium import webdriverimport timeimport loggingimport randomimport openpyxlwb = openpyxl.Workbook()sheet = wb.activesheet.append(['job_name', 'company_name', 'city','industry', 'salary', 'experience_edu','welfare','job_label'])logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')def search_product(key_word): browser.find_element_by_id('cboxClose').click() # 關閉讓你選城市的窗口 time.sleep(2) browser.find_element_by_id('search_input').send_keys(key_word) # 定位搜索框 輸入關鍵字 browser.find_element_by_class_name('search_button').click() # 點擊搜索 browser.maximize_window() # 最大化窗口 time.sleep(2) browser.find_element_by_class_name('body-btn').click() # 關閉彈窗 啥領取紅包窗口 time.sleep(random.randint(1, 3)) browser.execute_script("scroll(0,3000)") # 下拉滾動條 get_data() # 調用抓取數據的函數 # 模擬點擊下一頁 翻頁爬取數據 每爬取一頁數據 休眠 控制抓取速度 防止被反爬 讓輸驗證碼 for i in range(29): browser.find_element_by_class_name('pager_next ').click() time.sleep(1) browser.execute_script("scroll(0,3000)") get_data() time.sleep(random.randint(3, 5))def get_data(): items = browser.find_elements_by_xpath('//*[@id="s_position_list"]/ul/li') for item in items: job_name = item.find_element_by_xpath('.//div[@class="p_top"]/a/h3').text company_name = item.find_element_by_xpath('.//div[@class="company_name"]').text city = item.find_element_by_xpath('.//div[@class="p_top"]/a/span[@class="add"]/em').text industry = item.find_element_by_xpath('.//div[@class="industry"]').text salary = item.find_element_by_xpath('.//span[@class="money"]').text experience_edu = item.find_element_by_xpath('.//div[@class="p_bot"]/div[@class="li_b_l"]').text welfare = item.find_element_by_xpath('.//div[@class="li_b_r"]').text job_label = item.find_element_by_xpath('.//div[@class="list_item_bot"]/div[@class="li_b_l"]').text data = f'{job_name},{company_name},{city},{industry},{salary},{experience_edu},{welfare},{job_label}' logging.info(data) sheet.append([job_name, company_name, city,industry, salary, experience_edu, welfare, job_label])def main(): browser.get('https://www.lagou.com/') time.sleep(random.randint(1, 3)) search_product(keyword) wb.save('job_info.xlsx')if __name__ == '__main__': keyword = 'Python 數據分析' # chromedriver.exe的路徑 chrome_driver = r'D:\python\pycharm2020\chromedriver.exe' options = webdriver.ChromeOptions() # 關閉左上方 Chrome 正受到自動測試軟件的控制的提示 options.add_experimental_option('useAutomationExtension', False) options.add_experimental_option("excludeSwitches", ['enable-automation']) browser = webdriver.Chrome(options=options, executable_path=chrome_driver) main() browser.quit()
爬蟲運行,成功爬取數據并保存到Excel,運行結果如下:
?
三、查看數據
如果大家對Python感興趣的話,可以加一下老師的微信哦:abb436574,免費領取一套學習資料和視頻課程喲~
?
?
總結
以上是生活随笔為你收集整理的Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云炬Android开发笔记 5-1,2
- 下一篇: 云炬Android开发笔记 5-3,4