Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2021 15:23:32

teach_me_Python
Зарегистрирован: 2021-03-14
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

парсинг

Решил спарсить следующую инфу с DOU: название топ компаний IT в Украине, ссылку на компанию и почты HR
но я не понимаю как и можно ли вообще спарсить инфу почты. так как URL уже другой
сейчас есть 2 колонки название и ссылка на компанию на DOU
еще нужен адрес почты который находится тут https://jobs.dou.ua/companies/codemotion/offices/ в теге div с классом mail

буду рад любым подсказкам

 import requests
from bs4 import BeautifulSoup
import csv
CSV = 'cvs.csv'
HOST = 'https://jobs.dou.ua/'
URL = 'https://jobs.dou.ua/ratings/%D0%9A%D0%B8%D0%B5%D0%B2/'
HEADERS = {
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36'
}
def get_html(url):
    r = requests.get(url, headers=HEADERS)
    return r
def get_content(html):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('td', class_='company-name')
    cvs = []
    for item in items:
        cvs.append(
            {
                'link_cv': item.find('a').get('href'),
                'company_name': item.get_text(strip=True),
            }
        )
    return cvs
def save_cvs(items, path):
    with open(path, 'w', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerow(['Ссылка', 'Название компании'])
        for item in items:
            writer.writerow([item['link_cv'], item['company_name']])
def parser():
    html = get_html(URL)
    if html.status_code == 200:
        cvs = []
        cvs.extend(get_content(html.text))
        save_cvs(cvs, CSV)
        print(cvs)
    else:
        print('Error')
parser()

Отредактировано teach_me_Python (Апрель 26, 2021 15:24:32)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version