BOSS直聘岗位python爬取思路1(完整代码+详细介绍)
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头,模拟浏览器访问
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'}
# 定义一个函数来获取页面内容
def get_page_content(url):
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
return None
# 定义一个函数来解析页面数据
def parse_data(html):
soup = BeautifulSoup(html, 'lxml')
jobs_info = soup.find_all('div', class_='job-primary')
jobs_data = []
for job in jobs_info:
job_data = {
'title': job.find('div', class_='job-title').text.strip(),
'company': job.find('div', class_='company-text').text.strip(),
'salary': job.find('div', class_='money').text.strip(),
'city': job.find('div', class_='location-text').text.strip(),
'link': job.find('a', class_='job-link')['href']
}
jobs_data.append(job_data)
return jobs_data
# 定义一个函数来保存数据到CSV文件
def save_to_csv(data, filename):
df = pd.DataFrame(data)
df.to_csv(filename + '.csv', index=False)
# 初始化URL
url = 'https://www.zhipin.com/c101010100/?query=python&page=1'
# 获取页面内容
html = get_page_content(url)
# 解析数据
jobs_data = parse_data(html)
# 保存数据到CSV文件
save_to_csv(jobs_data, 'python_jobs')
这段代码首先导入了requests、BeautifulSoup和pandas库。然后定义了一个请求头用于模拟浏览器访问。接着定义了一个函数get_page_content
来获取网页内容。再定义了一个函数parse_data
来解析网页中的职位信息,并以列表的形式返回。最后,定义了一个函数save_to_csv
来将解析到的数据保存到CSV文件中。这个代码实例展示了如何使用Python爬取网页数据的基本方法。
评论已关闭