666T1meToHermes6

Пользователь

Регистрация: 29.11.2013

Сообщения: 3238

Рейтинг: 2136

Нарушения: 80

666T1meToHermes6

Регистрация: 29.11.2013

Сообщения: 3238

Рейтинг: 2136

Нарушения: 80

Маловероятно но все же, может тут на форуме есть люди pepeshapka.png?1592046135 (не анимешники ShrekWTF.png?1619500548) которые занимаются промышленным сбором данных\парсингом сайтов PepeKeyboard.gif?1613921689. Кароч суть проблемы, написал в связке питон+хром+селениум парсер LinkedIn. Хочу собирать инфу с профилей и вакансий, чтобы накормить свою языковую модель, но столкнулся с проблемой ограничения выдачи. Знаю что есть условно 80к открытых вакансий на сайте (https://www.linkedin.com/jobs/search?location=Russia), но сайт выдает только первых 40 страниц (25 вакансий на каждой) и дальше скролить уже нельзя feelstiredman.png?1625024633. Подобную проблему испытывала с другими сайтами feelstiredman.png?1625024633, но точно знаю что это как-то обходят, потому что спарсенные базы продают Midas.gif?1619503745. Гайз нид хелпа AquaCry.png?1621091234

КириллСтадник

Пользователь

Регистрация: 13.01.2024

Сообщения: 369

Рейтинг: 244

КириллСтадник

Регистрация: 13.01.2024

Сообщения: 369

Рейтинг: 244

"парсер LinkedIn"

 

так... у них же ведь апи есть

QlyouQwa

Пользователь

Регистрация: 19.08.2015

Сообщения: 329

Рейтинг: 226

QlyouQwa

Регистрация: 19.08.2015

Сообщения: 329

Рейтинг: 226

Смотря из-за чего он дальше не выдает тебе данные, возможно ты бомбишь запросами с одного IP. Попробуй ротацию через прокси лист.

------------------------

import requests

 

from itertools import cycle # List of proxies

 

proxy_list = ['ip1:port1', 'ip2:port2', ...]

 

proxy_pool = cycle(proxy_list) # create a cycle of proxies

 

url = 'https://www.targetwebsite.com'

for i in range(1,3):

 

    # Get a proxy from the pool

 

    proxy = next(proxy_pool)

 

    print(f"Request #{i}:")

 

    try:

 

        response = requests.get(url, proxies={"http": proxy, "https": proxy})

 

        print(response.content)

 

    except:

 

        # Most free proxies will often get connection errors, so we catch them here

 

        print("Connection error with proxy:", proxy)

 

-------------------------------

 

Но это лишь предположение.

666T1meToHermes6

Пользователь

Регистрация: 29.11.2013

Сообщения: 3238

Рейтинг: 2136

Нарушения: 80

666T1meToHermes6

Регистрация: 29.11.2013

Сообщения: 3238

Рейтинг: 2136

Нарушения: 80

КириллСтадник сказал(а):

"парсер LinkedIn"

 

так... у них же ведь апи есть

Нажмите, чтобы раскрыть...

инфы по вакансиям нету, можно публиковать, но нельзя запрашивать контент вакансии

QlyouQwa сказал(а):

Смотря из-за чего он дальше не выдает тебе данные, возможно ты бомбишь запросами с одного IP. Попробуй ротацию через прокси лист.

------------------------

import requests

from itertools import cycle # List of proxies

proxy_list = ['ip1:port1', 'ip2:port2', ...]

proxy_pool = cycle(proxy_list) # create a cycle of proxies

url = 'https://www.targetwebsite.com'

for i in range(1,3):

    # Get a proxy from the pool

    proxy = next(proxy_pool)

    print(f"Request #{i}:")

    try:

        response = requests.get(url, proxies={"http": proxy, "https": proxy})

        print(response.content)

    except:

        # Most free proxies will often get connection errors, so we catch them here

        print("Connection error with proxy:", proxy)

-------------------------------

 

Но это лишь предположение.

Нажмите, чтобы раскрыть...

это не поможет, я делаю большие промежутки между перелистыванием (1-2 минуты рандомно), к тому же при смене ип мне нужно будет залогиниться снова и не факт что вакансии на первых 40 страницах будут такими же, так что с 41 страницы я начать не смогу, к тому же ип дата центров такие сайты давно уже знаю, а домашние дорогие и чисто юридически покупать в их ЕС нельзя