Парсер на python

Задание закрыто
Стоимость:5 000 рублей
Срок выполнения:5 дней
Варианты оплаты:По договоренности
Дата публикации:2023-07-10 20:03
Был на сайте:2023-10-18 11:43

Парсер на python

 
Задача

Был сделан парсер на python с одного известного сайта, через моб версию и апи забирал свежие квартиры.
Програмист перестал поддерживать проект. сайт внес изменения и парсер перестал работать.
Последние сообщения програмиста было про : CIPHERS, и не только стандартного подключения:
ssl.OP_NO_TLSv1,
ssl.OP_NO_TLSv1_1,
ssl.OP_NO_SSLv2,
ssl.OP_NO_SSLv3,

Нужно чтоб парсер заработал.
Прошу сразу писать:
1. понимаете ли о чем идет речь.
2. когда готовы приступить.

Оставлять заявки могут только авторизованные пользователи.
Здравствуйте Владимир, я заинтересован в выполнении вашего заказа, ошибка парсера заключается в использовании устаревших версий шифрования, которые из-за обновления на сайте перестали поддерживаться. Я новичком в данной сфере, это мой первый подобный заказ. До этого уже писал парсеры и понимаю язык python. Из-за опыта, готов согласиться на цену ниже чем указано в объявлении. Готов приступить с момента принятия меня на роль исполнителя.
Takeda Daicha
Cпециализация: Программирование и IT
  • 5 000 руб2 дня
Привет, имею большой опыт в разработке парсинг скриптов на python, с удовольствием возьмусь за работу, сделаю всо в лучшем виде и в кратчайшие сроки, также помогу запустить и разобраться
Портфолио: https://ochistka35.wixsite.com/daichasportfolio
Для понимания надо разбираться
Готов хоть щас
Евгений Пономарев
Cпециализация: Программирование и IT
  • 5 000 руб2 дня
Доброго времени суток, меня зовут Евгений и я занимаюсь разработкой парсеров для любых целей. Сразу начну с сути проблемы, я предполагаю что сайт о котором идет речь это авито(если это не так то ничего страшного, просто такая проблема была у меня только с авито) и я знаю что нужно делать в такой ситуации как у вас так как уже сталкивался с таким случаем, здесь нет ничего сложного, дело в том что парсер использует более старое SSL шифрование когда делает запросы к сайту, а сайт в свою очередь использует новейший протокол шифрования и нужно просто добавить пару десятков строк кода чтобы прописать инструкцию какой SSL протокол использовать парсеру чтобы устанавливать безопасное соединение с сайтом и он не отвергал запрос на подключение и все) С этим придется чуть чуть поработать но тем не менее задача не представляет особой трудности. Дальше хочу продолжить о своем портфолио и технологиях которыми я обладаю если вам это конечно интересно. Профиль у меня на данный момент полностью пустой, но у меня есть неплохой опыт разработки парсеров так как я работал ранее на других фрилансах и только наткнулся на freelance.ru и не успел еще толком оформить профиль но портфолио у меня имеется и я вам могу продемонстрировать парочку самых интересных моих работ если для вас это принципиальный момент. Думаю рассказывать о других деталях своих навыков не стоит потому что они тут и не требуются, все таки вам нужно просто поставить уже готовый парсер в строй а не написать новый с нуля. На этом у меня все, по срокам думаю никого не обидел, по цене думаю тоже поэтому я буду ждать отклика от вас и готов приступить к работе уже сейчас)
Виталий Жуков
Cпециализация: Программирование и IT
  • 5 000 руб5 дней
Привет! Начиная с Python версии 3.6, константы ssl.OP_NO_TLSv1, ssl.OP_NO_TLSv1_1, ssl.OP_NO_SSLv2 и ssl.OP_NO_SSLv3 были удалены из модуля ssl. Это связано с тем, что эти протоколы устарели и считаются небезопасными.

Вместо них можно использовать константы ssl.PROTOCOL_TLS и ssl.PROTOCOL_TLS_CLIENT, которые предоставляют поддержку более безопасных версий TLS. Например, чтобы отключить протокол TLS 1.0 и 1.1, можно использовать следующий код:

python

import ssl

context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
context.options |= ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1

Аналогичным образом, вы можете использовать ssl.OP_NO_SSLv2 и ssl.OP_NO_SSLv3 для отключения устаревших протоколов SSLv2 и SSLv3 соответственно.

Обратите внимание, что доступные опции могут варьироваться в зависимости от версии Python и используемой библиотеки ssl.
Сергей Ловли
Cпециализация: Программирование и IT
  • 5 000 руб1 день
Изменения коснулись того, каким образом сайт обеспечивает безопасность соединения. В частности, возможно, что сайт начал использовать более современные и безопасные шифры.

Для того, чтобы ваш парсер снова начал работать, необходимо прописать эти параметры в объекте ssl_context, который используется при установке соединения с сайтом.

import ssl

from fake_useragent import UserAgent
import requests

def request(target:str):
# Создание объекта SSL-контекста с необходимыми настройками
ssl_context = ssl.create_default_context()
ssl_context.options |= ssl.OP_NO_TLSv1
ssl_context.options |= ssl.OP_NO_TLSv1_1
ssl_context.options |= ssl.OP_NO_SSLv2
ssl_context.options |= ssl.OP_NO_SSLv3

# Отправка запроса
return requests.get(
url=target,
verify=False, # Чтобы не проверять сертификат ssl (Иногда полезно)
headers={'User-Agent':str(UserAgent().randrom)}, # Создание заголовков запроса с фейковым UserAgent'ом
timeout=10,
allow_redirects=True,
cookies=None, # Использовать при необходимости
stream=True,
cert=None,
proxies=None,
auth=None, # Использовать при необходимости
ssl_context = ssl_context)

if __name__ == '__main__':
request('https://example.ru/')


Здесь мы создаем объект ssl_context с опциями, которые указал ваш программист. Затем мы используем ssl_context в качестве параметра при выполнении запроса на сайт с использованием библиотеки requests.
Обратите внимание, что параметр verify должен быть установлен в False, чтобы не проверять сертификат SSL на сайте. Это может быть опасно, так что будьте осторожны, используя этот код на продакшене. Вместо этого, вам может потребоваться получить действительный сертификат SSL и установить его в вашем ssl_context.
Также обратите внимание, что этот код может не сработать, если сайт изменил свой API. Если это произошло, вам может потребоваться обновить свой парсер, чтобы использовать новый API сайта.
Сергей Королев

Программист

Cпециализация: Программирование и IT
  • 5 000 руб5 дней
Здравствуйте. Примерно понимаю о чем речь. Нужно обойти защиту сервера. Это возможно. Но следует взглянуть на код.
Готов взяться, но сначала взгляну на код, чтобы оценить время выполнения.
Много не возьму, для меня важно опыт, т.к я только начал фрилансить. Но опыт программирования есть
Мухаммед Тангиркул
Cпециализация: Программирование и IT
  • 5 000 руб5 дней
Здравствуйте! Я готов начать работу немедленно. По моему пониманию, вам предоставляется API, и вам нужно получить данные с сайта, используя этот API с помощью библиотеки requests в Python. Я собираюсь сделать запрос по протоколу HTTPS. Вот мой номер WhatsApp: +7 7024933509. Вы можете связаться со мной по этому номеру.
Андрей VB
Cпециализация: Программирование и IT
  • 5 000 руб5 дней
1. я не знаю о чем речь, но могу портировать парсер на c# за 5 дней :)
2. сегодня.

Оставлять заявки могут только авторизованные пользователи.