HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

[python] Парсер мейлов по резюме на rabota.mail.ru
  #11  
Старый 24.07.2009, 19:16
e4key
Новичок
Регистрация: 24.07.2009
Сообщений: 24
Провел на форуме:
71052

Репутация: 5
По умолчанию [python] Парсер мейлов по резюме на rabota.mail.ru

Парсер мейлов по резюме на rabota.mail.ru

country - код страны
lang - язык
sex - пол
edu - образование

Все эти значения можно получить в сорце http://rabota.mail.ru/resume_search/

delay - задержка в секундах
get_fio (1 или 0) - получать ли ФИО
get_phone (1 или 0) - получать ли телефон (если есть)


Резальтат будет записан в файл output.txt в кодировке utf-8. Кому нужна другая кодировка правьте сами

Формат: "email@host.domain", "phone", "fio"

Код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re
import urllib
import time

country = '0'
lang = '0'
sex = '0'
edu = '0'

delay = 0
get_fio = 1
get_phone = 1

page = 1
count = 1
output_file = open('output.txt', 'w')

while True:
    source = urllib.urlopen('http://rabota.mail.ru/resume_search/?go=1&search_type=1&order_type=1&country=' + country + '&spec_group=0&salary_currency=2&lang=' + lang + '&lang_level=0&sex=' + sex + '&edu=' + edu + '&resume_on_page=3&publics=0&table=0&page=' + str(page)).read()
    if len(re.findall('<div class="full"><a href="/resume/(.*?)/"', source)) != 0:
        for id in re.findall('<div class="full"><a href="/resume/(.*?)/"', source):
            vacancy = urllib.urlopen('http://rabota.mail.ru/resume/' + id).read()
            email = re.findall('<td><a href="mailto:.*?">(.*?)</a></td>', vacancy)[0]
            output = '"' + email + '"'
            
            if get_phone:
                try:
                    phone = re.findall('\t\t\t\t\t\t<td>(\+.*?)</td>', vacancy)[0].replace(' ', '')
                except:
                    phone = 'None'
                output += ', "' + phone + '"'
            
            if get_fio:
                fio = re.findall('<div class="cmp_name">(.*?)<br />', vacancy)[0]
                output += ', "' + fio + '"'
            
            print str(count) + '\t' + email
            
            output_file.write(output.decode('windows-1251').encode('utf-8') + '\n')
            output_file.flush()
        
            count += 1
            time.sleep(delay)
        
        page += 1
    else:
        break

Последний раз редактировалось e4key; 24.07.2009 в 23:40..
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ