<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Евгений Лукин: заметки с тегом Парсинг</title>
<link>https://evgenylukin.ru/blog/tags/parsing/</link>
<description>Заметки, конспекты</description>
<author>Евгений Лукин</author>
<language>ru</language>
<generator>E2 (v3849; Aegea)</generator>

<itunes:owner>
<itunes:name>Евгений Лукин</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Заметки, конспекты</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>🚀 Pydoll: Async Web Automation in Python!</title>
<guid isPermaLink="false">100</guid>
<link>https://evgenylukin.ru/blog/all/pydoll-async-web-automation-in-python/</link>
<pubDate>Thu, 27 Mar 2025 20:39:41 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/pydoll-async-web-automation-in-python/</comments>
<description>
&lt;p&gt;&lt;a href="https://github.com/autoscrape-labs/pydoll"&gt;https://github.com/autoscrape-labs/pydoll&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;🔥 Installation&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pip install pydoll-python&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;⚡ Quick Start&lt;br /&gt;
Get started with just a few lines of code:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;import asyncio
from pydoll.browser.chrome import Chrome
from pydoll.constants import By

async def main():
    async with Chrome() as browser:
        await browser.start()
        page = await browser.get_page()
        
        # Works with captcha-protected sites
        await page.go_to('https://example-with-cloudflare.com')
        button = await page.find_element(By.CSS_SELECTOR, 'button')
        await button.click()

asyncio.run(main())&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Про портфолио парсинга</title>
<guid isPermaLink="false">82</guid>
<link>https://evgenylukin.ru/blog/all/pro-portfolio-parsinga/</link>
<pubDate>Wed, 15 Jun 2022 15:11:50 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/pro-portfolio-parsinga/</comments>
<description>
&lt;p&gt;Большинство из клиентов, у кого внедряли решения парсинга конкурентов предпочитают оставаться в тени, считая это своим преимуществом — поэтому здесь далеко не все из реализованных проектов.&lt;/p&gt;
</description>
</item>

<item>
<title>Инструкция по парсингу: Python + Selenium + WebDriver</title>
<guid isPermaLink="false">79</guid>
<link>https://evgenylukin.ru/blog/all/instrukciya-po-parsingu-python-selenium-webdriver/</link>
<pubDate>Sun, 13 Mar 2022 10:04:29 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/instrukciya-po-parsingu-python-selenium-webdriver/</comments>
<description>
&lt;p&gt;Чтобы скачать актуальную версию WebDriver переходим на &lt;a href="chrome://settings/help"&gt;chrome://settings/help&lt;/a&gt;, чтобы узнать версию вашего браузера.&lt;br /&gt;
По ссылке &lt;a href="https://sites.google.com/chromium.org/driver/"&gt;https://sites.google.com/chromium.org/driver/&lt;/a&gt; скачиваем вебдрайвер для версии вашего барузера и для вашей операционной системы. Например, у меня это chromedriver_win32.zip&lt;br /&gt;
Извлекаем в папку с проектом файл chromedriver.exe.&lt;br /&gt;
Устанавливаем в окружение библиотеку Selenium.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;from selenium import webdriver
driver = webdriver.Chrome('chromedriver.exe')
driver.get(url)&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>ТЗ на мониторинг Авито</title>
<guid isPermaLink="false">71</guid>
<link>https://evgenylukin.ru/blog/all/tz-na-monitoring-avito/</link>
<pubDate>Tue, 03 Aug 2021 14:02:22 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/tz-na-monitoring-avito/</comments>
<description>
&lt;p&gt;Встретил на профи.ру такое ТЗ: Парсинг сайтов недвижимости в лиды Битрикс 24.&lt;/p&gt;
&lt;p&gt;Спарсить: контакты, объявления, цены.&lt;br /&gt;
При появлении нового подходящего по требованиям объявления на рекламной площадке (Авито, Циан) ,сравнить с базой, добавить лид в Битрикс 24 (если это не дубль).&lt;/p&gt;
&lt;p&gt;Условия :&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;тип контакта=собственник,&lt;/li&gt;
&lt;li&gt;создано сегодня,&lt;/li&gt;
&lt;li&gt;СПБ и ЛО,&lt;/li&gt;
&lt;li&gt;Тип квартиры: квартиры, комнаты, апартаменты.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Параметры для передачи в Битрикс :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ссылка на объявление,&lt;/li&gt;
&lt;li&gt;адрес,&lt;/li&gt;
&lt;li&gt;телефон,&lt;/li&gt;
&lt;li&gt;описание,&lt;/li&gt;
&lt;li&gt;цена ,&lt;/li&gt;
&lt;li&gt;общая площадь квартиры,&lt;/li&gt;
&lt;li&gt;этаж,&lt;/li&gt;
&lt;li&gt;этажность,&lt;/li&gt;
&lt;li&gt;источник&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;До передачи в crm сравниваем потенциальный Лид с лидами с другой площадки для выявления дублей: по адресу, стоимости (+/- ? тыс. руб), этажу, общей площади.&lt;/p&gt;
&lt;p&gt;Ранее загруженные в базу лиды добавляем повторно только через месяц и при забракованных статусах Лида в срм (стадии уточним в ходе работы).&lt;/p&gt;
&lt;p&gt;Бюджет — до 40000 руб.&lt;/p&gt;
</description>
</item>

<item>
<title>Мониторинг авито</title>
<guid isPermaLink="false">68</guid>
<link>https://evgenylukin.ru/blog/all/monitoring-avito/</link>
<pubDate>Mon, 28 Jun 2021 10:52:16 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/monitoring-avito/</comments>
<description>
&lt;p&gt;Написал простенький скрипт, который переходит по ссылке с настроенными фильтрами. Скрипт парсит первую страницу с объявлениями и присылает в телеграм сообщение с результатами. Чтобы авито не заблокировал IP — подключил прокси.&lt;/p&gt;
&lt;p&gt;В принципе, всё оказалось реально.&lt;/p&gt;
&lt;p&gt;Как улучшить: парсить раз в минуту или реже, свежие объявления класть в базу данных, сортировать их по каким-нибудь критериям и сначала показывать лучшие.&lt;/p&gt;
</description>
</item>

<item>
<title>Задача про быстрый парсинг Avito</title>
<guid isPermaLink="false">67</guid>
<link>https://evgenylukin.ru/blog/all/zadacha-pro-bystry-parsing-avito/</link>
<pubDate>Sat, 22 May 2021 06:39:49 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/zadacha-pro-bystry-parsing-avito/</comments>
<description>
&lt;p&gt;Появился запрос от риэлтора: парсить авито-недвижимость Москвы, но так, чтобы данные о выходе объявления появлялись в CRM не позже минуты.&lt;/p&gt;
&lt;p&gt;Задача интересная, потому что сложная в реализации — авито не приветствует парсеры и с каждым днём защита становится всё изощрённее.&lt;/p&gt;
&lt;p&gt;Ещё большое усложнение — фейки. Очень много объявлений подаётся по несколько раз самими риэлторами. С левых симок, с разными картинками, описанием.&lt;/p&gt;
&lt;p&gt;Ну и последнее — объявления вываливаются пачками. В одну минуту в Москве может быть подано 100 объявлений.&lt;/p&gt;
&lt;p&gt;Как обойти защиту — прикинуться человеком. Чтобы робот заходил на сайт с разных браузеров, устройств и IP, прокручивал страницы, выделял текст, кликал ссылки.&lt;/p&gt;
&lt;p&gt;Как справиться с потоком — под каждую категорию запускать своего робота. А то и несколько. Например на продажу коммерческой недвижимости одного робота, а на продажу двушек — сразу трёх.&lt;/p&gt;
&lt;p&gt;Как чистить фейки? Пока не знаю.&lt;/p&gt;
</description>
</item>

<item>
<title>Как ускорить парсинг. Selectolax</title>
<guid isPermaLink="false">63</guid>
<link>https://evgenylukin.ru/blog/all/kak-uskorit-parsing-selectolax/</link>
<pubDate>Sat, 30 Jan 2021 09:24:55 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/kak-uskorit-parsing-selectolax/</comments>
<description>
&lt;p&gt;Парсить на пайтоне можно не только с помощью БьютифулСуп, но и ещё нескольких библиотек.&lt;/p&gt;
&lt;p&gt;Замер скорости: &lt;a href="https://rushter.com/blog/python-fast-html-parser/"&gt;https://rushter.com/blog/python-fast-html-parser/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Синтаксис Selectolax: &lt;a href="https://github.com/rushter/selectolax/blob/master/examples/walkthrough.ipynb"&gt;https://github.com/rushter/selectolax/blob/master/examples/walkthrough.ipynb&lt;/a&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>