爬取51job上python的岗位信息,使用requests和beautifulsoup4库,将前20个职位、公司、薪资打印出来。注意:这是一个关键词搜索爬虫,关注url的形成。
时间: 2023-04-30 14:05:59 浏览: 63
这道题是关于使用 Python 的 requests 和 BeautifulSoup 库爬取前 20 个职位信息、公司、薪资,并打印出来的问题。需要注意的是,这是一个关键词搜索爬虫,注意 URL 的形成。
相关问题
爬虫部分:使用Python的 requests 和 BeautifulSoup 库获取网站上的数据,并解析成结构化的数据爬取51job网站
好的,以下是一个简单的示例代码,可以爬取51job网站上的职位信息:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html'
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.36'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
job_list = soup.find_all('div', class_='el')
for job in job_list:
title = job.find('a', class_='title')['title']
company = job.find('a', class_='t2').text.strip()
location = job.find('span', class_='t3').text.strip()
salary = job.find('span', class_='t4').text.strip()
print(title)
print(company)
print(location)
print(salary)
print()
```
解释一下代码中的几个关键点:
1. `requests.get(url, headers=headers)` 发送 GET 请求获取网页内容, `headers` 是请求头部信息,我们需要在请求头中添加 User-Agent 信息,模拟浏览器访问,否则可能会被网站屏蔽。
2. `BeautifulSoup(response.text, 'html.parser')` 将网页内容转化为 BeautifulSoup 对象,方便使用其提供的方法进行解析。
3. `soup.find_all('div', class_='el')` 查找所有 class 为 'el' 的 div 标签,该标签包含了职位信息。
4. `job.find('a', class_='title')['title']` 查找 class 为 'title' 的 a 标签,获取该标签的 title 属性,即职位名称。
5. `job.find('a', class_='t2').text.strip()` 查找 class 为 't2' 的 a 标签,获取该标签的文本内容,即公司名称。
6. `job.find('span', class_='t3').text.strip()` 查找 class 为 't3' 的 span 标签,获取该标签的文本内容,即工作地点。
7. `job.find('span', class_='t4').text.strip()` 查找 class 为 't4' 的 span 标签,获取该标签的文本内容,即薪资待遇。
这样就可以获取到51job网站上的职位信息了。
python使用beautifulsoup爬取51job招聘信息
好的,以下是使用 Python 和 Beautiful Soup 爬取 51job 招聘信息的步骤:
1. 首先,需要安装 `beautifulsoup4` 和 `requests` 库。可以通过以下命令安装:
```
pip install beautifulsoup4 requests
```
2. 导入需要的库:
```
import requests
from bs4 import BeautifulSoup
```
3. 确定需要爬取的页面链接,并将其存储在一个变量中:
```
url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html'
```
在这个示例中,我们将爬取搜索关键词为“python”的招聘信息。
4. 发送 HTTP 请求获取页面内容:
```
r = requests.get(url)
```
5. 使用 Beautiful Soup 解析页面内容:
```
soup = BeautifulSoup(r.content, 'html.parser')
```
6. 找到每个招聘信息的 HTML 元素,并将它们存储在一个列表中:
```
job_list = soup.find_all('div', {'class': 'el'})
```
7. 遍历列表,提取每个招聘信息中的相关信息,例如职位名称、公司名称、工作地点、薪资等:
```
for job in job_list:
job_name = job.find('a', {'target': '_blank'}).text.strip()
company_name = job.find('a', {'class': 'name'}).text.strip()
location = job.find('span', {'class': 't3'}).text.strip()
salary = job.find('span', {'class': 't4'}).text.strip()
print(job_name, company_name, location, salary)
```
在这个示例中,我们将职位名称、公司名称、工作地点和薪资打印到控制台上。
完整的代码示例:
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)