用python编程,以51job中兰州软件工程师招聘为例,爬取'职位','公司','地点','薪资'信息。
时间: 2023-12-23 21:03:02 浏览: 27
好的,以下是基于Python的爬取'职位','公司','地点','薪资'信息的代码:
```python
import requests
from bs4 import BeautifulSoup
url = "https://search.51job.com/list/620000,000000,0000,00,9,99,%25E8%25BD%25AF%25E4%25BB%25B6%25E5%25B7%25A5%25E7%25A8%258B%25E5%25B8%2588,2,{}.html"
for page in range(1, 6): # 爬取前5页的数据
res = requests.get(url.format(page))
res.encoding = "gbk"
soup = BeautifulSoup(res.text, "html.parser")
job_list = soup.select("#resultList .el")
for job in job_list:
if "title" in job.attrs.get("class", []):
job_name = job.get_text(strip=True)
company = job.find_next_sibling().find("a").get_text(strip=True)
location = job.find_next_sibling().find_next_sibling().get_text(strip=True)
salary = job.find_next_sibling().find_next_sibling().find_next_sibling().get_text(strip=True)
print(job_name, company, location, salary)
```
解释一下代码:
1. 先定义了一个URL,包含了51job中兰州地区的“软件工程师”职位的搜索结果页面,后面的花括号用于动态替换页码。
2. 使用requests库发送请求获取页面内容,并设置编码为gbk,因为51job的页面编码为gbk。
3. 使用BeautifulSoup库解析页面,找到每个职位信息所在的标签。
4. 循环遍历每个职位信息标签,找到对应的'职位','公司','地点','薪资'信息,打印输出。
请注意,此代码仅供学习参考,建议在爬取时遵守网站的robots.txt规则,不要对网站造成不必要的负担。