Найти - Пользователи
Полная версия: Как получить телефон со страницы объявления при помощи Python?
Начало » Python для новичков » Как получить телефон со страницы объявления при помощи Python?
1
tibs
Добрый день. Подскажите, пожалуйста, как со страницы avito.ru/items/krasnodar_kvartiry_prodam_2-k_kvartiru_44_kv._m_65715447 получить телефон питоном? Хотя бы картинкой.
reclosedev
А сами то попытались что-нибудь сделать?
Там все на Javascript. Берете отладчик из Chrome или Firebug для Firefox и смотрите, что происходит при нажатии на “показать номер”, откуда что берется, какие запросы отправляются, какая ссылка на картинку.

Т.к. стало интересно и это может пригодится в будущем, набросал код:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from urlparse import urljoin
import re
 
import requests
import lxml.html
 
BASE_URL = 'http://www.avito.ru/items/'
 
def get_avito_phone(item, output_filename):
    s = requests.Session()
    item_url = urljoin(BASE_URL, item)
    doc = lxml.html.fromstring(s.get(item_url).content)
    verification = doc.xpath('//meta[@name="ph_verification"]/@content')[0]
    # js: eipd_ext(tln), then use only each third letter js: pue(elt)
    phone_key = re.sub(r'[^0-9a-f]', '', verification)[::3]
    phone_url = '%sphone/%s?pkey=%s' % (BASE_URL, item, phone_key)
    r = s.get(phone_url, headers={'Referer': item_url})
    with open(output_filename, 'wb') as f:
        f.write(r.content)
 
 
get_avito_phone('krasnodar_kvartiry_prodam_2-k_kvartiru_44_kv._m_65715447', 'image.jpg')
tibs
reclosedev
Я то пытался, да не особо получалось. Спасибо большое за код, буду разбираться.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB