用正则表达式爬取智联招聘的重庆软件工程师前两页的平均薪资
时间: 2023-11-27 14:23:16 浏览: 81
以下是使用Python的正则表达式爬取智联招聘的重庆软件工程师前两页平均薪资的示例代码:
```python
import re
import requests
url = 'https://search.51job.com/list/080200,000000,0000,00,9,99,python,2,{}.html'
salary_list = []
for i in range(1, 3): # 爬取前两页数据
resp = requests.get(url.format(i))
resp.encoding = 'gbk'
html = resp.text
# 使用正则表达式提取薪资信息
pattern = re.compile(r'<div class="el">(.*?)</div>', re.S)
results = pattern.findall(html)
for result in results:
salary_pattern = re.compile(r'<span class="t4">(.*?)</span>', re.S)
salary_match = salary_pattern.search(result)
if salary_match:
salary = salary_match.group(1)
salary = re.sub(r'[^\d]+', '', salary) # 去除薪资文本中的非数字字符
salary_list.append(int(salary))
# 计算平均薪资
average_salary = sum(salary_list) / len(salary_list)
print('前两页重庆软件工程师的平均薪资为:{}元/月'.format(average_salary))
```
需要注意的是,对于招聘网站的数据爬取需要遵守相关法律法规,不得侵犯他人隐私和知识产权等权益。同时,爬取频率也需要适度,避免对目标网站造成过大的访问压力。
阅读全文