我是 Python 的新手,正在尝试为远程数据分析师职位抓取 Indeed,并将它们发送到 csv 文件。我故意添加代码来解决我一直面临的 SSL 证书问题。结果显示我已将工作添加到我的文件中,但除了标题外什么也没有显示。
你能帮我弄清楚我做错了什么吗?非常感谢。
这是我的代码:
import requests
import csv
from bs4 import BeautifulSoup
# Define the dataanalyst variable.
dataanalyst = "data analyst"
def get_job_postings(dataanalyst):
"""Gets the job postings from Indeed for the given keyword."""
# Get the Indeed search URL for the given keyword.
search_url = "https://www.indeed.com/jobs?q=data+analyst&l=remote&vjk=30f58c7471301c42".format(keyword)
# Make a request to the Indeed search URL.
response = requests.get(search_url, verify=False)
# Parse the response and get the job postings.
soup = BeautifulSoup(response.content, "html.parser")
job_postings = soup.find_all("div", class_="jobsearch-result")
return job_postings
def write_job_postings_to_csv(job_postings, filename):
"""Writes the job postings to a CSV file."""
# Create a CSV file to store the job postings.
with open(filename, "w", newline="") as csvfile:
# Create a CSV writer object.
writer = csv.writer(csvfile)
# Write the header row to the CSV file.
writer.writerow(["Title", "Company", "Location", "Description"])
# Write the job postings to the CSV file.
for job_posting in job_postings:
title = job_posting.find("h2", class_="jobtitle").text
company = job_posting.find("span", class_="company").text
location = job_posting.find("span", class_="location").text
description = job_posting.find("div", class_="job-snippet").text
writer.writerow([title, company, location, description])
if __name__ == "__main__":
# Define the dataanalyst variable.
dataanalyst = "data+analyst"
# Get the keyword from the user.
keyword = "data analyst"
# Get the job postings from Indeed.
job_postings = get_job_postings(dataanalyst)
# Write the job postings to a CSV file.
write_job_postings_to_csv(job_postings, "remote_data_analyst_positions.csv")
print("The job postings have been successfully scraped and written to a CSV file.")
这是我的最终结果:
PS C:\用户