Python是一種高級的解釋性編程語言,擁有強大的數據處理能力和優秀的網絡通信功能,非常適合用于網絡爬蟲的開發。本文將介紹如何使用Python編寫爬蟲,從招聘網站上爬取相關職位信息。
import requests from bs4 import BeautifulSoup # 設置請求頭信息 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 根據網址和分頁數獲取招聘信息頁面HTML def get_html(url, page): try: # 發送GET請求獲取HTML內容 response = requests.get(url.format(page), headers=headers) if response.status_code == 200: # 返回解碼后的HTML內容 return response.content.decode('gbk') else: return None except Exception as e: print('獲取HTML出錯:', e) return None # 解析HTML內容,提取招聘信息 def parse_html(html): # 創建用于存儲招聘信息的列表 jobs = [] # 使用BeautifulSoup庫解析HTML soup = BeautifulSoup(html, 'html.parser') # 獲取招聘信息的列表 job_list = soup.find_all('div', class_='el') for job in job_list: # 將招聘信息存儲到字典中 job_dict = {} # 獲取招聘職位名稱 job_dict['name'] = job.find('a').text.strip() # 獲取公司名稱 job_dict['company'] = job.find('span', class_='t2').text.strip() # 獲取工作地點 job_dict['address'] = job.find('span', class_='t3').text.strip() # 獲取薪資待遇 job_dict['salary'] = job.find('span', class_='t4').text.strip() # 獲取發布日期 job_dict['date'] = job.find('span', class_='t5').text.strip() # 將職位信息添加到列表中 jobs.append(job_dict) return jobs if __name__ == '__main__': # 要爬取的招聘網站 url = 'http://search.51job.com/list/000000,000000,0000,00,9,99,{0},2,1.html' # 從1頁到5頁爬取招聘信息 for page in range(1, 6): # 獲取指定頁數的招聘信息頁面 html = get_html(url, page) if html is not None: # 解析HTML內容,提取招聘信息 jobs = parse_html(html) # 打印招聘信息 for job in jobs: print(job['name'], job['company'], job['address'], job['salary'], job['date']) else: print('獲取第{}頁招聘信息頁面失敗'.format(page))
以上代碼使用requests庫發送HTTP請求,從招聘網站上獲取HTML內容。使用BeautifulSoup庫解析HTML內容,提取職位相關信息。當然,這些信息還可以用于數據存儲、分析等應用。這只是Python爬蟲的一小部分應用,歡迎大家深入學習。
上一篇flask和vue好嗎
下一篇python 的默認值