Обход IP-адресов с помощью прокси-серверов и веб-краулеров: Решение проблемы сбора данных

Что такое веб-краулер? Что он может делать?

Веб-краулер, также известный как веб-паук, веб-робот или автоматический индексатор, - это автоматизированный скрипт или программа, используемая для систематического просмотра и веб-скрепинга содержимого веб-страниц в Интернете.

нет в goods_price:","continue","logging.info(f «Название товара: {goods_name}»)","logging.info(f «Цена товара: {goods_price}»)","logging.info(f «Ссылка на товар: {goods_href}»)","logging.info('=' * 30)","data.append({","«name\": goods_name,","«цена\": goods_price,","«link\": goods_href","})","logging.info('Data scraping completed')","Сохраните данные в файл","with open(«data.json», «w», encoding=«utf-8») as f:","json.dump(data, f, ensure_ascii=False, indent=4)","logging.info(«Данные были сохранены в файл data.json»)","except Exception as e:","logging.error(«Произошла ошибка:», exc_info=True)"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EПосле того, как PyCharm нажмет кнопку Run. *Введите ключевые слова: Вы ввели ключевые слова для поиска. *Сбор данных: скрипт ищет и собирает информацию о товарах, связанных с ключевыми словами, на Amazon.com. *Сохранение данных: Собранные данные сохраняются в файлеdata.json, а журнальная информация - в файлеscraper.log.\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EВот пример на примере поиска браслетов на amazon:\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EЩелкните на изображении, чтобы увидеть подробности о товаре.\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EНо краулер часто блокируется сайтом, пока я его запускаю, так что же мне с этим делать?\u003C/p\u003E"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Трудности и контрмеры для веб-краулеров: как ползать, не будучи заблокированным?"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EКаждый раз, когда я пытаюсь это сделать, многие сайты достаточно умны, чтобы обнаружить ботов, у них есть CAPTCHA и они не дают Вам проползти к данным. У них есть тактика борьбы с краулерами, такая как блокировка IP-адресов, CAPTCHA, эти «барьеры» влияют на эффективность краулинга и зарабатывание денег. После многих попыток сайт блокируется. Каково же решение этой проблемы?\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EНа этот раз Вы можете использовать для работы прокси-серверы, принцип работы прокси-серверов очень прост, мы ползаем по сайту, когда будет запрос, который нужно отправить на сервер, мы напрямую обращаемся к времени, сервер будет знать наш IP-адрес, при слишком частом посещении сайт будет заблокирован, но мы можем сначала отправить запрос на прокси-сервис, прокси-сервис поможет нам отправить запрос. Таким образом, сайт, который просматривается, не будет знать, какой у нас IP. \u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EЗдесь я рекомендую PROXY.CC, которым я пользуюсь уже долгое время. У него есть три типа прокси: \u003Ca href=\"https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fproxy.cc%2Fproxy-types%2Fresidential-proxy%2F%3Fkeyword%3Dmj&postId=3338055\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003ERotating Residential Proxies\u003C/a\u003E, \u003Ca href=\"https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fproxy.cc%2Fstatic-residential-proxy%2F%3Fkeyword%3Dmj&postId=3338055\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003EStatic Residential Proxies\u003C/a\u003E и \u003Ca href=\"https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fproxy.cc%2Fproxy-types%2Funlimited-residential-proxy%2F%3Fkeyword%3Dmj&postId=3338055\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003EUnlimited Traffic Proxies\u003C/a\u003E:\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003ERotating Residential Proxies - это вращающиеся прокси, где каждый IP-адрес резидентов представляет собой страну и город, которые можно выбрать, что помогает пользователям точно определять геолокацию и получать доступ к информации эффективно и безопасно. Static Residential Proxies предоставляют фиксированные реальные IP-адреса, чтобы гарантировать, что пользователи используют одни и те же IP-адреса в течение длительного времени, улучшить стабильность и безопасность доступа, а также скрыть реальные IP-адреса пользователей.\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EПрокси с неограниченным трафиком предоставят неограниченный трафик на прокси для жилых домов, чтобы обеспечить эффективный и безопасный доступ к информации и скрыть реальный IP пользователя. Очень подходит для задач с высоким трафиком, если Вам необходимо выполнять крупномасштабный сбор данных и автоматическое тестирование и если нет требований к расположению страны/города, этот пакет настоятельно рекомендуется, он значительно снизит стоимость биллинга за поток.\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EОн может автоматически разблокировать веб-сайты, подключаться к прокси-серверам, вращать Ваш IP-адрес, разрешать CAPTCHA и делать Вас беззаботным веб-краулером.\u003Ca href=\"https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fproxy.cc%2Fapplication%2Fweb%2F%3Fkeyword%3Dmj&postId=3338055\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003EPROXY Web Scraping\u003C/a\u003E.\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EКроме того, он допускает неограниченное количество одновременных сессий, что означает, что сотни экземпляров краулера могут работать одновременно, не ограничиваясь обработкой на одной или локальной машине. Если Вы хотите узнать больше о PROXY.CC, Вы можете перейти по ссылке, чтобы ознакомиться с ним и испытать мощные возможности PROXY.CC. Вы также можете получить 500 МБ бесплатного трафика при первой регистрации, обратившись в службу поддержки.\u003Ca href=\"https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fproxy.cc%2Fstart%2Fusage-tutorials%2F%3Fkeyword%3Dmj&postId=3338055\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003EPROXY.CC Residential Proxies Tutorials\u003C/a\u003E\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EЯ приобрел \u003Ca href=\"https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fproxy.cc%2Fproxy-types%2Fresidential-proxy%2F%3Fkeyword%3Dmj&postId=3338055\" rel=\"nofollow noreferrer noopener\" target=\"_blank\"\u003EResidential Proxies\u003C/a\u003E здесь, просто добавьте содержимое сгенерированных прокси в это место, я использую API Extraction, результат извлечения предполагается как [5.78.24.25:23300].\u003C/p\u003E"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EОригинальный код: ``попытка: co = ChromiumOptions() co.headless() page = WebPage(chromiumoptions=co) page.get(«https://www.amazon.com/») page.ele(«twotabsearchtextbox»).click() ключевое слово = ввод(\"Пожалуйста, введите ключевое слово и нажмите Enter: ») page.ele(«twotabsearchtextbox»).input(keyword) page.ele(«nav-search-submit-button»).click() goodseles = page.eles('xpath://*[@id=«search»]/div[1]/div[1]/div/span[1]/div[1]/div') logging.info(«Starting data scraping...»)\u003C/p\u003E"}},{"type":"list","cover":false,"hidden":false,"anchor":"","data":{"items":["Код после добавления прокси:"],"type":"UL"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003Eco = ChromiumOptions() co.headless() co.setproxy(«http://5.78.24.25:23300») page = WebPage(chromiumoptions=co) page.get(«https://api.ip.cc/») page.get(«https://www.amazon.com/») time.sleep(5) page.get(«https://www.amazon.com/s?k=fender+гитара») print(page.html) page.ele(«#twotabsearchtextbox»).click() ключевое слово = ввод(\"Пожалуйста, введите ключевое слово и нажмите Enter: ») page.ele(«#twotabsearchtextbox»).input(keyword) page.ele(«#nav-search-submit-button»).click() goods_eles = page.eles('xpath://*[@id=«search»]/div[1]/div[1]/div/span[1]/div[1]/div') print(«Начинаем поиск данных...») ``` \u003C/p\u003E"}},{"type":"header","cover":false,"hidden":false,"anchor":"","data":{"style":"h2","text":"Заключение"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"\u003Cp\u003EНа практике технология веб-краулеров помогла многим предприятиям и частным лицам автоматизировать сбор данных, повысить эффективность работы и сэкономить много времени и средств. Однако в процессе работы краулер часто сталкивается с такими мерами по борьбе с краулингом веб-сайтов, как блокировка IP-адресов и аутентификация CAPTCHA. На данный момент для решения этих проблем можно использовать жилые прокси-сервисы, такие как PROXY.CC. С помощью прокси-сервиса краулеры могут скрывать свои реальные IP-адреса, чтобы избежать блокировки, и таким образом беспрепятственно осуществлять сбор данных.PROXY.CC предоставляет различные режимы работы прокси, такие как вращающиеся жилые прокси, статические жилые прокси и прокси с неограниченным трафиком, чтобы удовлетворить потребности различных пользователей. Прокси с неограниченным трафиком могут значительно снизить стоимость, особенно для пользователей, которым необходимо собирать большие объемы данных.\u003C/p\u003E"}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":0,"favorites":0,"reposts":0,"views":13,"hits":89,"reads":null,"online":0},"dateFavorite":0,"hitsCount":89,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://dtf.ru/id1832030/3338055-obhod-ip-adresov-s-pomoshyu-proksi-serverov-i-veb-kraulerov-reshenie-problemy-sbora-dannyh","author":{"id":1832030,"name":"Soren","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"d377e165-a8ef-5036-a1aa-32a452189290","width":200,"height":200,"size":10844,"type":"jpg","color":"c3ccdc","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAICAgICAQICAgIDAgIDAwYEAwMDAwcFBQQGCAcJCAgHCAgJCg0LCQoMCggICw8LDA0ODg8OCQsQERAOEQ0ODg7/2wBDAQIDAwMDAwcEBAcOCQgJDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAcK/8QAIRAAAgEEAgIDAAAAAAAAAAAAAQIDBAYHEQAFCCEJEqL/xAAWAQEBAQAAAAAAAAAAAAAAAAAEBQb/xAAeEQEAAQMFAQAAAAAAAAAAAAABAAIDEgQRE1KR0f/aAAwDAQACEQMRAD8Aq9m+WlNUfITkuy7hyLbxx5TUENTbMjIqSEEqCDL9ismwWJBIIIGhrfLFrUubkm0JdtUlBjurFKub8XvGrrfvSsrDYIrotH98cay32PYPhudXx+TKb0U0pzR1rmVyxqEBJY7I0BrmUvBwsuW1zIuaiaZa+dVlcASMAAx9e+Z2kMSWVd5//9k="}},"cover":null,"achievements":[{"title":"Год на DTF","code":"registration_1_year","description":"Первый год с DTF. Получена 23 августа 2025.","previewUuid":"d6655520-3ebc-52c3-8b92-696b019b5788","formats":{"glb":"https://static.dtf.ru/achievements/egg-01.glb","usdz":"https://static.dtf.ru/achievements/egg-01.usdz"},"viewData":{"contentColor":"#1F97D4","textMaxWidth":0.62890625,"textX":0.5,"textY":0.6943359375,"logoX":0.5,"logoY":0.818359375,"logoXNoText":0.5,"logoYNoText":0.6865234375},"id":2126745,"userId":1832030,"count":0,"shareImage":"https://api.dtf.ru/achievements/share/2126745"}],"lastModificationDate":1768696317,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":true,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1832030,"name":"Soren","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"d377e165-a8ef-5036-a1aa-32a452189290","width":200,"height":200,"size":10844,"type":"jpg","color":"c3ccdc","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAICAgICAQICAgIDAgIDAwYEAwMDAwcFBQQGCAcJCAgHCAgJCg0LCQoMCggICw8LDA0ODg8OCQsQERAOEQ0ODg7/2wBDAQIDAwMDAwcEBAcOCQgJDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wAARCAAKAAoDAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAcK/8QAIRAAAgEEAgIDAAAAAAAAAAAAAQIDBAYHEQAFCCEJEqL/xAAWAQEBAQAAAAAAAAAAAAAAAAAEBQb/xAAeEQEAAQMFAQAAAAAAAAAAAAABAAIDEgQRE1KR0f/aAAwDAQACEQMRAD8Aq9m+WlNUfITkuy7hyLbxx5TUENTbMjIqSEEqCDL9ismwWJBIIIGhrfLFrUubkm0JdtUlBjurFKub8XvGrrfvSsrDYIrotH98cay32PYPhudXx+TKb0U0pzR1rmVyxqEBJY7I0BrmUvBwsuW1zIuaiaZa+dVlcASMAAx9e+Z2kMSWVd5//9k="}},"cover":null,"achievements":[{"title":"Год на DTF","code":"registration_1_year","description":"Первый год с DTF. Получена 23 августа 2025.","previewUuid":"d6655520-3ebc-52c3-8b92-696b019b5788","formats":{"glb":"https://static.dtf.ru/achievements/egg-01.glb","usdz":"https://static.dtf.ru/achievements/egg-01.usdz"},"viewData":{"contentColor":"#1F97D4","textMaxWidth":0.62890625,"textX":0.5,"textY":0.6943359375,"logoX":0.5,"logoY":0.818359375,"logoXNoText":0.5,"logoYNoText":0.6865234375},"id":2126745,"userId":1832030,"count":0,"shareImage":"https://api.dtf.ru/achievements/share/2126745"}],"lastModificationDate":1768696317,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":true,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null}}],"ogTitle":null,"ogDescription":null,"isAnonymized":true}};