@@zaemielСкажите пожалуйста, я слышал что инстаграм так парсить не получится - из-за юзер агента блокируют акк (хотя вк например работает нормально). Может быть есть какая-нибудь альтернатива?
Очень классная серия видеоуроков, спасибо. Нигде не видел на ютюбе, да и в интернете не нашел, как обходить защиту на сайтах, использующих Cloudfire (при заходе на сайт пишется "идет проверка вашего браузера, подождите 5 секунд", а затем редиректит. Если запишите видеоурок, будет просто замечательно :)
Большое спасибо за ваши видео уроки. очень сильно помогло в работе, необходимы были определенные парсеры (алексы ранга например). Еще очень интересно было бы послушать\посмотреть ваш урок по веб спайдерам. на ютубе есть хорошие ролики ангоязычные, но они и для питона 2+ версий, там новичкам сложно приходится переписывать всё под третий :)
Для того чтобы менять User-agent можно использовать вот это fake-useragent. Установка: pip install fake-useragent from fake_useragent import UserAgent ua = UserAgent() ua.ie # Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US) ua.random # and the best one, random via real world browser usage statistic
Спасибо за то, что разложили по полочкам. Всё предельно ясно, только вот у меня IP мой не меняется на предлагаемые. Эти прокси порверил. Все рабочие. Очень странно. Меняются только user-agent.... Программные VPN все повыключал, сижу только с работающим Касперским. Не знаю, уж может он как-то препятствует? UPD: разобрался. Работает только c httpS-ными прокси. Непонятно тогда, для чего http-шные нужны.
Не подставляет юзер-агента. print списка useragents работает, так же как и вызов по индексу из списка, но в хедерс почему-то не передается. Уже три раза проверил код - ничего не вижу - все как у вас... Прям вот интересно в чем проблема-то) *UPD:* 4 часа ушло на то, что бы понять, что в main() сначала объявляется useragents, а за ним сразу proxies, но никак не наоборот 😑.
Наверное главным плюсом будет скорость. Не знаю как зенка, но в аналогичной проге проходимость 800 страниц в час(в лучшем случае) и процессы хавают побольше.
А есть смысл избежания бана и капчи проходить по урлам, например, wget'ом и потом парсить получившийся html -текст? Так понимаю в этом случае будет меньше коннектов к сайту-донору.
Спасибо автору за его работу. Однозначно продолжай. А теперь по делу :) При попытке повторить урок почему-то суп не принимает в качестве парсера lxml :( Меняем парсер на html.parser - всё пучком. Почему так происходит, подскажите люди добрые. А чем эти парсеры вообще отличаются? И User-Agent можно было получить по 'басяцки' типа: soup.find('div', class_='ip-block').find_all('span')[1].text.strip()
Начну с небольшого вопроса. Что делать со страницами которые провалились в блоке try? Допустим нам нужно получить 10 страниц, а получили всего 7, что делать? А так большое спасибо за уроки! Очень помогают!
я бы попытался выяснить почему проваливаются try И попробовал бы записать эти страницы, скажем, в текстовый файлик или в json, потом проанализировал и запустил бы их парсинг еще раз
протокол прокси должен совпадать с протоколом сайта: http - http https - https Он не сможет установить SSL соединение с сервером, который его не поддерживает. Либо ищите, что вы сделали не так в коде.
@Олег Молчанов Приветствую, Олег! Блин, огромное спасибо 🙏 Вам за этот видос - очень четенько все объяснили и показали! У меня есть вопрос: В интернете я нашел много разных Proxy IP бесплатных, но не все из них доступны - не отвечают и кончается таймаут. Поэтому, прежде, чем использовать конкретный Proxy IP на парсируемом сайте, я написал код, который проверяет доступность этого Proxy IP на sitespy.ru/my-ip. НО! Сайт, который я хочу спарсить использует протокол https, а sitespy.ru использует протокол http. Я прочел все комменты под этим видосом - там Вы пишите, что протокол прокси должен совпадать с протоколом сайта http - http, а https - https Получается, нет смысла мне проверять доступность Proxy IP http на sitespy.ru, т.к. даже если на sitespy.ru прокси сработает, то на парсируемом сайте с протоколом https - не сработает , правильно понимаю? 1️⃣Можете посоветовать, где я мог бы проверить Proxy IP с протоколом https, какой-нибудь сервис без супер антибот защиты, как у yandex.ru/internet, который и разрешение экрана проверяет, кукис и прочее. и 2️⃣ совпадение работает в обе стороны? т.е. Proxy IP с протоколом https - будет ли работать с сайтом, у которого протокол просто http (без S) Очень жду ответа, заранее спасибо большое!
Подскажите пожалуйста - что делать если классы\id одинаковые во многих блоках, но данные содержащиеся в них разные.. Как достать к примеру пятый по счету класс, который везде одинаковый?
Классы и присваиваются для того чтобы блоки с разным содержимым выглядели одинаково, и не приходилось писать одинаковый код для каждого (я о CSS). В таких случаях нужно искать дочерние элементы, удовлетворяющие ваши требования
Не помогло , все также выдает : infoblock action-description invisible . Your browser cannot be verified automatically, please confirm you are not a robot.
а о чем вы думаете здесь идет речь? Парсеры - это роботы, с определенной задачей. Да, это боты. И не имеет значения будет ли это программируемый браузер Selenium или такой вот простой парсер. Все это боты, т.к. не люди. Разрешение экрана - это не единственный признак бота.
Почему сайт должен показывать капчу? Ведь вы обращаетесь к нему всего лишь один раз. Каждый раз с новым айпишником и юзер-агентом, то есть для сайта это всегда левые люди, никак не связанные между собой.
то, как работает тот или иной сайт вам придется разбираться на практике. У всех по-разному. В отрыве от практики то, что вы написали - это гипотеза, которую еще нужно проверять. Но вообще смысл этого видео и сводился к этому - "не хочешь получить каптчу - меняй IP". Так, что я ваш вопрос не совсем понял.
на 43:20 вы говорите, что при использовании слипа даже гугл не будет показывать капчу. Поэтому я задал вопрос, почему он должен показать капчу, если по сути это единственный запрос от пользователя. И пусть их будет по 40 запросов в секунду, это все равно будет 40 разных пользователей для сайта, ведь мы используем разные прокси и хедеры.
А где вы в первом сообщении написали про Гугл? Попробуйте попарсить Гугл без использования прокси, юзер-агентов и без задержек - получите каптчу очень быстро. Именно поэтому их и используют. Вы немного путаете причину и следствие. Мы используем прокси и все остальное, чтобы сайты (включая Гугл) думали, что мы разные пользователи, иначе получаем каптчу. Если никакой защиты от роботов у сайта нет, то нет необходимости использовать прокси.
вы, видимо, не понимаете, о чем я говорю. мы используем прокси и хедеры, чтобы для сайта выглядеть разными человеками, поэтому даже 40 подключений в секунду не вызовут у гугла капчу, потому что это будет 40 разных человек.
а разве это не суть использования прокси? Зачем по-вашему я записал этот скринкаст? Я не вижу противоречия между тем, что говорил тогда и тем, что писал сегодня. Это абсолютно бессмысленный разговор.
@@zaemiel упс, тогда сорри, погорячился) вернул лайк и подписку) спрашивал про то что указанный сайт (а, видимо его ютуб из-за внешней ссылки потер), спрячь мою попу, который) сейчас у него нет списка бесплатных прокси? я на нем зарегался и по ссылке в видео прошел, там такая страница не доступна
Большое спасибо за материал!!!!
На мой взгляд, один из лучших каналов по Python.
Так держать!!!!!!
спасибо
@@zaemielСкажите пожалуйста, я слышал что инстаграм так парсить не получится - из-за юзер агента блокируют акк (хотя вк например работает нормально). Может быть есть какая-нибудь альтернатива?
Очень классная серия видеоуроков, спасибо. Нигде не видел на ютюбе, да и в интернете не нашел, как обходить защиту на сайтах, использующих Cloudfire (при заходе на сайт пишется "идет проверка вашего браузера, подождите 5 секунд", а затем редиректит. Если запишите видеоурок, будет просто замечательно :)
Дело в том, что для этого и ставят эту защиту чтобы ее не обошли)
Такая защита обходится Selenium'ом ну или Puppeteer
🔥🔥🔥
Хочу весь интернет теперь спаристь))))
Спасибо все максимально понятно!
🔥🔥🔥
Большое спасибо за ваши видео уроки. очень сильно помогло в работе, необходимы были определенные парсеры (алексы ранга например).
Еще очень интересно было бы послушать\посмотреть ваш урок по веб спайдерам. на ютубе есть хорошие ролики ангоязычные, но они и для питона 2+ версий, там новичкам сложно приходится переписывать всё под третий :)
Олег, спасибо за полезный контент. Сделай, плиз, обзор работы с капчей ;)
Ты что хочешь ддосить сайты?
Спасибо за такое годное видео, пишу спустя два года))
Всем все равно когда ты пишешь...
Спасибо! Помогло! 🔥
Для того чтобы менять User-agent можно использовать вот это fake-useragent.
Установка: pip install fake-useragent
from fake_useragent import UserAgent
ua = UserAgent()
ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
ua.random
# and the best one, random via real world browser usage statistic
еще б с проксями библа такая была и жить можно )
Спасибо мой друг
Спасибо большое. Пока реально крутые уроки.
спасибо как раз для новачков
Очень интересно о работе с POST запросами. Можно видеоурок?
Просто бомба информация, осталось ещё показать как сохранить и потом подставить cookie авторизации.
спасибо за видео, лайк
Очень интересно, спасибо!
Можно это дело ещё в pool завернуть и получим многопоточность, и при этом беспалевность. 👍
Спасибо за то, что разложили по полочкам. Всё предельно ясно, только вот у меня IP мой не меняется на предлагаемые. Эти прокси порверил. Все рабочие. Очень странно. Меняются только user-agent....
Программные VPN все повыключал, сижу только с работающим Касперским. Не знаю, уж может он как-то препятствует?
UPD: разобрался. Работает только c httpS-ными прокси. Непонятно тогда, для чего http-шные нужны.
Не подставляет юзер-агента. print списка useragents работает, так же как и вызов по индексу из списка, но в хедерс почему-то не передается. Уже три раза проверил код - ничего не вижу - все как у вас... Прям вот интересно в чем проблема-то)
*UPD:*
4 часа ушло на то, что бы понять, что в main() сначала объявляется useragents, а за ним сразу proxies, но никак не наоборот 😑.
Отличный видос, спасибо! Но вопрос: как теперь интегрировать этот код в парсер?
Как думаешь а zennoposter не лучше будет? Там вроде проще будет парсить и всякие Фичи делать? я в смысле почему выбирать питон.. в этой области..
Наверное главным плюсом будет скорость. Не знаю как зенка, но в аналогичной проге проходимость 800 страниц в час(в лучшем случае) и процессы хавают побольше.
спасибо
А дааальше? ) Просто подменяю адрес и юзерагент на новые в гет запросе что ли?
А есть смысл избежания бана и капчи проходить по урлам, например, wget'ом и потом парсить получившийся html -текст? Так понимаю в этом случае будет меньше коннектов к сайту-донору.
Попробуйте, но на мой взгляд смысла особого нет. Точнее нет принципиальной разницы.
у меня не получается зайти на сайт, скиньте пожалуйста код
Спасибо автору за его работу. Однозначно продолжай.
А теперь по делу :)
При попытке повторить урок почему-то суп не принимает в качестве парсера lxml :(
Меняем парсер на html.parser - всё пучком. Почему так происходит, подскажите люди добрые. А чем эти парсеры вообще отличаются?
И User-Agent можно было получить по 'басяцки' типа:
soup.find('div', class_='ip-block').find_all('span')[1].text.strip()
Можно только гадать.
Установлен ли у вас lxml? Проверьте: pip freeze
Если нет - лучше установить: pip install lxml
Если установлен, то что пишет суп?
Полностью моя вина :(
Не установлен был lxml. Как же всё просто, до безобразия.
Спасибо за ответ.
Бывает... все мы тупим время от времени - обычное дело
Начну с небольшого вопроса. Что делать со страницами которые провалились в блоке try? Допустим нам нужно получить 10 страниц, а получили всего 7, что делать? А так большое спасибо за уроки! Очень помогают!
я бы попытался выяснить почему проваливаются try
И попробовал бы записать эти страницы, скажем, в текстовый файлик или в json, потом проанализировал и запустил бы их парсинг еще раз
Подскажите пожалуйста, делаю по вашему уроку все, но возвращает все равно мой ip перепробовал много прокси, помогите
протокол прокси должен совпадать с протоколом сайта:
http - http
https - https
Он не сможет установить SSL соединение с сервером, который его не поддерживает.
Либо ищите, что вы сделали не так в коде.
@@zaemiel все совпадает, проверял несколько раз, все равно не работает, и пробовал другие сайты, ее зна
И перепробовал много прокси разных
@@zaemiel уже опять пересмотрел , все правильно в коде но все равно возвращает мой ip
@@zaemiel Вот код , что может быть не правильно? pastebin.com/m6CrU0At
Если будет Парсинг раз в 5 секунд не будут банить?(Алиэкспресс)
капчи боятся в лес не ходить, не когда не бойся капчи
Идет полный провал..Только заход в def get_html и не выходит из нее.Подскажите что делать?
писать на селениуме - bf4 то еще дерьмо (в очень редких случаях можно использовать его вместо селениума)
@Олег Молчанов
Приветствую, Олег! Блин, огромное спасибо 🙏 Вам за этот видос - очень четенько все объяснили и показали!
У меня есть вопрос:
В интернете я нашел много разных Proxy IP бесплатных, но не все из них доступны - не отвечают и кончается таймаут.
Поэтому, прежде, чем использовать конкретный Proxy IP на парсируемом сайте, я написал код, который проверяет доступность этого Proxy IP на sitespy.ru/my-ip.
НО! Сайт, который я хочу спарсить использует протокол https, а sitespy.ru использует протокол http.
Я прочел все комменты под этим видосом - там Вы пишите, что протокол прокси должен совпадать с протоколом сайта http - http, а https - https
Получается, нет смысла мне проверять доступность Proxy IP http на sitespy.ru, т.к. даже если на sitespy.ru прокси сработает, то на парсируемом сайте с протоколом https - не сработает , правильно понимаю?
1️⃣Можете посоветовать, где я мог бы проверить Proxy IP с протоколом https, какой-нибудь сервис без супер антибот защиты, как у yandex.ru/internet, который и разрешение экрана проверяет, кукис и прочее.
и 2️⃣ совпадение работает в обе стороны? т.е. Proxy IP с протоколом https - будет ли работать с сайтом, у которого протокол просто http (без S)
Очень жду ответа, заранее спасибо большое!
досмотрел... делается за 3 минуты мурыжил мурыжил... в итоге что?? прокси подставил.
Подскажите пожалуйста - что делать если классы\id одинаковые во многих блоках, но данные содержащиеся в них разные..
Как достать к примеру пятый по счету класс, который везде одинаковый?
Классы и присваиваются для того чтобы блоки с разным содержимым выглядели одинаково, и не приходилось писать одинаковый код для каждого (я о CSS). В таких случаях нужно искать дочерние элементы, удовлетворяющие ваши требования
.findAll(class_='name')[5]
Не помогло , все также выдает : infoblock action-description invisible . Your browser cannot be verified automatically, please confirm you are not a robot.
Спасибо. А то ноль в питон только немного C++ знаю. Есть идея написать ютуб парсер через прокси. Мм вкусно же будет топ теги + накрутка.
Серьезно??? компилятор ругался на soup = BeautifulSoup(html,'lxml'); а нужно soup = BeautifulSoup(html, 'lxml'). Ну и синтаксис конечно у питона дикий
@@TailsFinance777 ctrl + alt + L и будет тебе pep8, чтоб он не ругался
При использовании прокси и юзер агента, всё равно периодически прилетает бан. С чем это связанно?
это может быть связано со многими факторами - скоростью запросов, количеством запросов, поддерживается ли JS и т.д.
@@zaemiel
При не поддерживании JS что нужно тогда делать?
а как сервер при таком запросе видит разрешение экрана? можем ли мы передавать определенное разрешение ?
никак. Это не браузер.
И для чего вам передавать разрешение?
как мне кажется, то запрос который не передает разрешение экрана является ботом, если я не прав поправьте меня.
а о чем вы думаете здесь идет речь? Парсеры - это роботы, с определенной задачей. Да, это боты.
И не имеет значения будет ли это программируемый браузер Selenium или такой вот простой парсер. Все это боты, т.к. не люди.
Разрешение экрана - это не единственный признак бота.
хм. Я просто думал если мы передадим аргумент useragent то мы уже будем менее похожи на бота ... Но в целом я вас понял. Спасибо за информацию !
Avotaiya
Почему сайт должен показывать капчу? Ведь вы обращаетесь к нему всего лишь один раз.
Каждый раз с новым айпишником и юзер-агентом, то есть для сайта это всегда левые люди, никак не связанные между собой.
то, как работает тот или иной сайт вам придется разбираться на практике. У всех по-разному. В отрыве от практики то, что вы написали - это гипотеза, которую еще нужно проверять.
Но вообще смысл этого видео и сводился к этому - "не хочешь получить каптчу - меняй IP". Так, что я ваш вопрос не совсем понял.
на 43:20 вы говорите, что при использовании слипа даже гугл не будет показывать капчу. Поэтому я задал вопрос, почему он должен показать капчу, если по сути это единственный запрос от пользователя. И пусть их будет по 40 запросов в секунду, это все равно будет 40 разных пользователей для сайта, ведь мы используем разные прокси и хедеры.
А где вы в первом сообщении написали про Гугл?
Попробуйте попарсить Гугл без использования прокси, юзер-агентов и без задержек - получите каптчу очень быстро. Именно поэтому их и используют.
Вы немного путаете причину и следствие.
Мы используем прокси и все остальное, чтобы сайты (включая Гугл) думали, что мы разные пользователи, иначе получаем каптчу.
Если никакой защиты от роботов у сайта нет, то нет необходимости использовать прокси.
вы, видимо, не понимаете, о чем я говорю.
мы используем прокси и хедеры, чтобы для сайта выглядеть разными человеками, поэтому даже 40 подключений в секунду не вызовут у гугла капчу, потому что это будет 40 разных человек.
а разве это не суть использования прокси?
Зачем по-вашему я записал этот скринкаст?
Я не вижу противоречия между тем, что говорил тогда и тем, что писал сегодня.
Это абсолютно бессмысленный разговор.
✔
есть непобедимая капча, для этого делается или метод на сторону отправка за копейки школотой ввод, или банальный перебор капчи, я 20 мин смотрел видос
curl ident.me
Большое спасибо за удаление комментария с чисто техническим вопросом, дизлайк, отписка.
никто ваш коммент не удалял.
Вероятно, это сделал сам TH-cam.
Такое раньше уже было в серии про использование mock'ов
@@zaemiel упс, тогда сорри, погорячился) вернул лайк и подписку) спрашивал про то что указанный сайт (а, видимо его ютуб из-за внешней ссылки потер), спрячь мою попу, который) сейчас у него нет списка бесплатных прокси? я на нем зарегался и по ссылке в видео прошел, там такая страница не доступна
видимо, они (hidemyass) концепцию поменяли, и вам нужны другие прокси.
@@zaemiel ну да, купил какие то, тестирую. Мне интересно, не те же ли это бесплатные)
вполне возможно
Смешно звучит, когда русский начинает пытаться по англицки балакать =) Можно просто как есть? =) (не критика) =)
Я не пытаюсь. Нет.
@@zaemiel может слишком грубым мое сообщение показалось =)
приношу извинения =)
на сколько же кончиный язык питон
Avotaiya