使用Python爬取51job招聘信息,使用requests库,json库在51job主页爬取福州JAVA工程师相关招聘信息,保留爬取的信息页面信息,每一行职位信息用50个“-”符号分隔,将爬取到的数据保存为txt文档
时间: 2024-10-13 14:05:57 浏览: 27
使用Python爬取51Job招聘信息需要通过网络请求获取网页内容,然后解析HTML提取所需信息。这里我们将演示如何使用`requests`库发送GET请求获取页面源码,再用`BeautifulSoup`库解析HTML,最后将数据存储为文本文件。
首先,确保已安装了所需的库:
```bash
pip install requests beautifulsoup4
```
接下来是Python代码示例:
```python
import requests
from bs4 import BeautifulSoup
import json
# 目标URL
url = "https://search.51job.com/list福州市020000JAVA%20软件工程/010300100000000000000/?lang=c&postchannel=0000&workyear=0&cotype=9999°reefrom=%E7%A5%BD%E6%B8%85&jobterm=9999&companysize=9999&providesalary=9999&pubtime=-1&sort=0"
def parse_html(html):
soup = BeautifulSoup(html, 'lxml')
job_list = soup.find_all('li', class_='el') # 查找职位列表项
data = []
for job in job_list:
title = job.find('a', class_='name').text.strip() # 职位标题
company = job.find('span', class_='company').text.strip() # 公司名
link = f"https://www.51job.com{job.find('a')['href']}" # 链接
location = job.find('div', class_='location').text.strip() # 工作地点
# 创建一条包含所有信息的数据
info = f"{title}-{company}-{link}-{location}"
data.append(info)
return data
def save_to_txt(data):
with open('fuzhou_java_jobs.txt', 'w', encoding='utf-8') as f:
for item in data:
f.write(item + '\n' + 50 * '-' + '\n')
if __name__ == "__main__":
response = requests.get(url)
html_content = response.text
jobs = parse_html(html_content)
save_to_txt(jobs)
print(f"已成功保存至fuzhou_java_jobs.txt文件中.")
阅读全文