使用Python編程語言和Selenium庫來實現(xiàn)自動化的網(wǎng)頁操作,從而實現(xiàn)登錄、搜索和爬取職位信息的功能。
首先,導入了所需的庫,包括time用于處理時間,selenium用于模擬瀏覽器操作,csv用于寫入CSV文件,BeautifulSoup用于解析網(wǎng)頁數(shù)據(jù)。然后,定義了一個名為login的函數(shù),該函數(shù)接受一個WebDriver對象和一個關鍵詞作為參數(shù)。
在login函數(shù)中,使用WebDriver對象打開51job網(wǎng)站,并通過模擬用戶的行為進行登錄操作。登錄過程中需要輸入關鍵詞并點擊搜索按鈕。然后,使用BeautifulSoup庫解析頁面源代碼,找到包含職位信息的HTML元素,并逐個提取出崗位名、公司、薪資、城市、區(qū)縣、行業(yè)、標簽、性質(zhì)、企業(yè)人數(shù)和回復等信息。將提取的信息存儲在一個列表中,并通過csv庫將列表中的數(shù)據(jù)寫入到CSV文件中。
在主函數(shù)main中,配置了Chrome瀏覽器的啟動選項,并創(chuàng)建了一個WebDriver對象。接下來,代碼循環(huán)遍歷不同的城市列表,在每個城市中調(diào)用login函數(shù)進行登錄和職位信息的爬取。
代碼的運行過程是自動化的,通過模擬瀏覽器操作來實現(xiàn)登錄和搜索功能,然后從搜索結果中提取所需的職位信息,并將其保存到CSV文件中。使用Selenium庫可以實現(xiàn)與瀏覽器相同的操作,包括點擊按鈕、輸入文本、滾動頁面等。
主要代碼如下:文章來源:http://www.zghlxwxcb.cn/news/detail-805173.html
def main(): # while True: """ chromeOptions 是一個配置 chrome 啟動是屬性的類,就是初始化 """ option = webdriver.ChromeOptions() """ add_experimental_option 添加實驗性質(zhì)的設置參數(shù) """ option.add_experimental_option('excludeSwitches', ['enable-automation']) # webdriver防檢測 ''' add_argument 添加啟動參數(shù) ''' # option.add_argument("--disable-blink-features=AutomationControlled") # option.add_argument("--no-sandbox") # option.add_argument("--disable-dev-usage") # option.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})#不加載圖片 """ Chrome 配置驅(qū)動 """ driver = webdriver.Chrome(executable_path='chromedriver.exe',options=option) driver.set_page_load_timeout(15) list0=[['guangzhou', '廣州'], ['shanghai', '上海'], ['shenzhen', '深圳'], ['changsha', '長沙'],['chongqing','重慶']] for k in list0: login(driver,k) time.sleep(15) # driver.set_page_load_timeout(15) # jugesd(driver) if __name__ == '__main__': headers = { 'User-Agent':'你的user-agent', 'Cookie':'你的cookie(一定要登錄,不然久不久就會反爬驗證)'} main()
完整代碼可聯(lián)系我,白嫖勿擾文章來源地址http://www.zghlxwxcb.cn/news/detail-805173.html
到了這里,關于基于Python的51job(前程無憂)招聘網(wǎng)站數(shù)據(jù)采集,通過selenium繞過網(wǎng)站反爬,可以采集全國各地數(shù)十萬條招聘信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!