python爬取前程无忧
时间: 2023-10-10 08:07:34 浏览: 128
我可以帮您编写一个Python爬虫程序来爬取前程无忧网站上的招聘信息。以下是程序的基本思路:
1. 导入所需的库:requests、BeautifulSoup和pandas;
2. 构造URL,设置请求头和代理IP;
3. 发送GET请求,获取HTML页面;
4. 使用BeautifulSoup库解析HTML页面,提取招聘信息;
5. 将提取的信息存储在DataFrame中;
6. 循环爬取多页数据,并将结果合并为一个DataFrame;
7. 将DataFrame保存为CSV文件。
以下是程序的代码示例:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头和代理IP
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'}
proxies = {'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080'}
# 构造URL
url = 'https://search.51job.com/list/010000,000000,0000,00,9,99,python,2,{}.html'
# 创建空的DataFrame
df = pd.DataFrame()
# 循环爬取多页数据
for page in range(1, 11):
# 发送GET请求,获取HTML页面
response = requests.get(url.format(page), headers=headers, proxies=proxies)
response.encoding = 'gbk'
html = response.text
# 解析HTML页面,提取招聘信息
soup = BeautifulSoup(html, 'html.parser')
job_list = soup.find_all('div', {'class': 'el'})
for job in job_list:
job_name = job.find('a').get('title')
company = job.find('span', {'class': 't2'}).text.strip()
location = job.find('span', {'class': 't3'}).text.strip()
salary = job.find('span', {'class': 't4'}).text.strip()
release_time = job.find('span', {'class': 't5'}).text.strip()
df = df.append(pd.DataFrame({'Job Name': [job_name], 'Company': [company], 'Location': [location], 'Salary': [salary], 'Release Time': [release_time]}), ignore_index=True)
# 将结果保存为CSV文件
df.to_csv('job_list.csv', index=False)
```
在上面的代码中,我们设置了请求头和代理IP,这是为了避免被网站封禁IP。我们使用了BeautifulSoup库来解析HTML页面,并提取了招聘信息。最后,我们将结果保存为CSV文件。您可以根据需要修改程序中的URL和其他参数来爬取不同的招聘信息。
阅读全文