编写一个python程序,功能实现如下:抓取拉勾网站有关软件测试的岗位,并用列表输出这些岗位
时间: 2023-09-26 08:06:39 浏览: 105
### 回答1:
这里是一个可以用来实现该功能的Python程序:import requests
from bs4 import BeautifulSoupurl = "https://www.lagou.com/jobs/list_%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95?city=%E5%85%A8%E5%9B%BD&cl=false&fromSearch=true&labelWords=&suginput="headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
'Referer': 'https://www.lagou.com/jobs/list_%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95?city=%E5%85%A8%E5%9B%BD&cl=false&fromSearch=true&labelWords=&suginput='
}# 发送请求
response = requests.get(url, headers=headers)# 解析网页
soup = BeautifulSoup(response.text, 'lxml')# 获取所有软件测试岗位
jobs = soup.find_all('li', attrs={'class': 'con_list_item'})# 输出软件测试岗位列表
job_list = []
for job in jobs:
job_name = job.find('h3').text
job_list.append(job_name)print(job_list)
### 回答2:
编写一个Python程序来实现抓取拉勾网站上有关软件测试的岗位,并用列表输出这些岗位,可以按照以下步骤进行:
1. 导入所需的库和模块,包括requests和beautifulsoup:
```
import requests
from bs4 import BeautifulSoup
```
2. 使用requests库发送HTTP GET请求以获取拉勾网站上的页面内容:
```
url = "https://www.lagou.com/zhaopin/"
response = requests.get(url)
```
3. 使用BeautifulSoup库解析HTML内容并筛选出软件测试相关的岗位:
```
soup = BeautifulSoup(response.content, "html.parser")
job_list = soup.find_all("li", class_="position_list_item")
software_testing_jobs = [job for job in job_list if "软件测试" in job.text]
```
4. 定义一个空列表来存储软件测试岗位的信息:
```
software_testing_positions = []
```
5. 遍历筛选出的岗位列表,提取出岗位的名称,并添加到软件测试岗位列表中:
```
for job in software_testing_jobs:
position_name = job.find("div", class_="position_name").text.strip()
software_testing_positions.append(position_name)
```
6. 打印软件测试岗位列表:
```
for position in software_testing_positions:
print(position)
```
完整的代码如下所示:
```python
import requests
from bs4 import BeautifulSoup
url = "https://www.lagou.com/zhaopin/"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
job_list = soup.find_all("li", class_="position_list_item")
software_testing_jobs = [job for job in job_list if "软件测试" in job.text]
software_testing_positions = []
for job in software_testing_jobs:
position_name = job.find("div", class_="position_name").text.strip()
software_testing_positions.append(position_name)
for position in software_testing_positions:
print(position)
```
运行该程序即可抓取拉勾网站上有关软件测试的岗位,并将这些岗位以列表形式输出。
### 回答3:
编写一个Python程序,使用Web Scraping技术抓取拉勾网站上与软件测试相关的岗位,并将这些岗位以列表的形式输出。
首先,我们需要安装和导入所需的库,包括requests和BeautifulSoup。使用requests库发送HTTP请求获取拉勾网站的页面内容,然后使用BeautifulSoup库解析HTML页面。
以下是实现这个功能的Python程序示例:
```python
import requests
from bs4 import BeautifulSoup
def get_job_titles():
url = "https://www.lagou.com/zhaopin/ruanjianceshi/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
job_titles = []
job_elems = soup.find_all("h3", class_="company_name")
for job_elem in job_elems:
job_titles.append(job_elem.text.strip())
return job_titles
job_titles = get_job_titles()
print(job_titles)
```
上述代码中,我们定义了一个`get_job_titles`函数来获取岗位名称。我们指定了拉勾网站的URL,并设置了请求头以避免被识别为机器人。然后,我们发送GET请求并获取响应。使用BeautifulSoup解析响应的HTML文档,通过找到所有class为"company_name"的h3标签来提取岗位名称。最后,将岗位名称以列表形式返回。
最后,我们调用`get_job_titles`函数并打印输出结果。
请注意,网站结构和CSS类名可能会发生更改,因此以上示例代码仅供参考,实际应用中可能需要相应调整。
这个程序可以帮助你抓取拉勾网站上与软件测试相关的岗位,并以列表的形式输出这些岗位。
阅读全文