Найдите работу своей мечты с помощью Python

Привет, я Абхай

Мы находимся в 2020 году, и все мы страдаем от пандемии Covid19. Из-за этого многие люди потеряли работу и работу. Теперь все ищут работу. Если посмотреть на более широкую картину, есть еще много свободных мест для работы. Дело в том, что нам нужно только их найти.

Поиск работы может быть одновременно сложным и болезненным, но подождите, мы разработчики, мы ничего не можем сделать. поэтому в этом блоге мы создадим скрипт Python, который будет отправлять нам предложения о работе в соответствии с нашими интересами.

Прежде, начав с набора кода, сделайте одно: создайте учетную запись Gmail, если у вас ее нет или если вы не хотите использовать свою личную учетную запись по некоторым причинам конфиденциальности. После создания учетной записи нам нужно отключить менее безопасный доступ к приложениям. просто следуйте этим простым шагам.

  1. Откройте свою учетную запись Gmail
  2. В правом верхнем углу нажмите значок своего профиля, а затем нажмите «Управление учетной записью Google».
  3. С левой стороны найдите безопасность, затем прокрутите вниз и выберите Небезопасный доступ к приложениям и отключите его, чтобы наш скрипт python мог легко получить доступ к Gmail для отправки почты.

Теперь перед написанием первой строчки кода нам нужно установить две библиотеки request и BeautifulSoup с помощью pip.

Начнем с импорта всех библиотек

from bs4 import BeautifulSoup 
import requests
import csv

Здесь библиотека запросов используется для отправки запроса на сервер и получения всего ответа обратно. Библиотека Beautiful Soup используется для получения контента или источника веб-сайта. CSV используется для чтения и записи файла CSV

Теперь примите предпочтения пользователя в качестве входных данных

name = input("Job name:\n").replace(" ","-")
city = input("City name:\n")
state = input("State name:\n")

Если вы ищете конкретную вакансию, просто установите значение переменной name в качестве предпочтительного имени вакансии.

Отправляет запрос на сервер и проверяет ответ обратно

res = requests.get(f'https://www.indeed.co.in/{name}-jobs-in-{city},-{state}')
print(res)

Если наш ответ ‹200›, значит, мы успешно установили соединение между нашим скриптом python и сервером. здесь name - это название должности, город - предпочтительный город, а штат - предпочтительный штат.

Теперь у нас есть соединение между сервером и нашим скриптом python, теперь мы можем получить исходный код веб-сайта с помощью bs4.

soup = BeautifulSoup(res.text,'html.parser')

Если мы напечатаем суп, мы получим весь HTML-код исходной страницы.

Следующий шаг - это основной шаг нашего скрипта. на этом этапе мы пытаемся получить текст из тегов с помощью селекторов CSS.

Во-первых, нам нужно получить название задания. класс имени тега, который содержит имя задания, - .jobname. чтобы найти его, просто наведите курсор мыши на имя задания, затем нажмите правую кнопку мыши и нажмите «Проверить», затем найдите соответствующий тег, содержащий имя задания, а затем найдите класс с этим именем тега. сделайте то же самое для компании и местоположения.

job_name = soup.select('.jobtitle').getText().strip()
job_company = soup.select('.company').getText().strip()
job_location=soup.select('.location').getText().strip()

Получить зарплату может быть сложно, потому что есть много объявлений о вакансиях, в которых не указан диапазон заработной платы, или, возможно, это стажировки, которые не платят вам никаких стипендий.
Чтобы получить правильную зарплату, нам нужно используйте блок try и except, и если какое-либо объявление о вакансии не имеет зарплаты, то наш скрипт просто пропустит этот экземпляр и перейдет к следующему заданию.

try :
   job_money = soup.select(".salaryText").getText()
except :
   job_money = ""

Теперь нужно получить ссылку на конкретное задание. Чтобы получить ссылку из определенного тега. сначала нам нужно найти этот конкретный тег, после этого нам нужно найти тег привязки, и из этого тега привязки нам нужно получить значение атрибута href.
В каждую ссылку нам нужно добавить предварительную строку «https://www.indeed.co.in», соединенную с нашей исходной ссылкой.

h2 = soup.find('h2',{'class':'title'})
a = h2.find('a')
link = a.attrs.get("href")
url = "https://www.indeed.co.in"+link

Теперь у нас есть название вакансии, компания, местоположение и ссылка на эту конкретную вакансию. Следующее, что нужно сделать, это сохранить все данные в CSV-файл, чтобы мы могли отправить этот CSV-файл в виде вложения в нашу почту.

row = [job_name,job_company,job_location,job_money,url]
with open('jobs.csv', 'a',newline="\n",encoding="utf-8") as f:
     writer = csv.writer(f)
     writer.writerow(row)

Следующим шагом является отправка файла в виде вложения по электронной почте. для этого мы воспользуемся почтовой библиотекой.

Импортируйте необходимые библиотеки

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders

Определение адреса электронной почты для входа, пароля и адреса электронной почты получателя

email_user = 'sender_email'
email_password = 'sender_password'
email_send = 'receiver_email'
subject = 'JOBS THAT BEST SUITS YOU'
body = 'THIS IS THE DAILY REMINDER CSV MAIL SENDING YOU LATEST JOBS FROM TODAY'

Указание пути к файлу CSV
Если он находится в том же каталоге, просто введите имя файла CSV.

filename='jobs.csv'

Подготовка электронного письма к отправке

msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = email_send
msg['Subject'] = subject

Прикрепление файла к электронной почте

msg.attach(MIMEText(body,'plain'))

attachment  =open(filename,'rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment; filename= "+filename)
msg.attach(part)

Отправка электронного письма

text = msg.as_string()
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(email_user,email_password)
server.sendmail(email_user,email_send,text)
server.quit()

Теперь текстовый шаг, чтобы наш скрипт запускался каждый день или еженедельно с использованием планировщика Windows.

  1. Просто нажмите клавишу Windows и введите планировщик задач.
  2. Затем с правой стороны найдите создание новой задачи, и откроется новое окно.
  3. Просто введите имя. пример: Job_searcher
  4. Укажите расположение вашего файла Python.
  5. Теперь добавьте новый триггер на вкладке триггеров.
  6. Добавить тайминги
  7. Перейти на вкладку Действия
  8. Добавьте путь к вашему файлу python.exe, а затем к файлу файла python.

ПОЛНЫЙ КОД

Спасибо за чтение 😃

«Python такой же классный, как и вы. Будь счастлив и делись счастьем ».

Чтение в будущем