Парсер aliexpress

12
M9
На сайте с 15.05.2014
Offline
79
1632

Друзья помогите с парсером пытаюсь вытягивать данные из поиска aliexpress делаю так:

$cookieJar = dirname(__FILE__) . '/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$headers = [ 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36',
'referer: https://ru.aliexpress.com/wholesale?ltype=wholesale^&d=y^&CatId=0^&SearchText=eminem+^%^D1^%^84^%^D1^%^83^%^D1^%^82^%^D0^%^B1^%^D0^%^BE^%^D0^%^BB^%^D0^%^BA^%^D0^%^B8^&trafficChannel=main^&SortType=default^&page=1',
//'accept-encoding: gzip, deflate, br',
'amp-same-origin: true',
'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6,zh;q=0.5',
'accept: application/json',
'authority: ru.aliexpress.com',
'accept: application/json, text/plain, */*',
'sec-fetch-site: same-origin',
'cookie: ali_apache_id=92.122.190.62.1551445822947.436538.7; _ga=GA1.2.1055267819.1551686034; _ym_uid=1551693989234437077; _uab_collina=155169398981516514730328; _fbp=fb.1.1551693994589.2139985876; cna=Z3nYE5vWLAsCAdkILz5gvL3N; aefeMsite=amp-ZhiWEfPcpbFRdCAw2VnVBQ; AMP_ECID_GOOGLE=amp-tqivU_0pMPXFZM4-xGZIpw; amp-user-notification=amp-1bWhfeacR4NOz_slxcj-pQ; aemsite=d_bar=1&p_n=1; _bl_uid=6hjO2xgnsIto7LzOXfhn6d4sq38X; _gac_UA-17640202-1=1.1564578261.null; __utmz=3375712.1565246737.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=3375712.1055267819.1551686034.1565246737.1565265402.2; aeu_cid=eba09d07103444bcad0e0a905289132f-1566728270328-00785-qtdR1i0; aep_common_f=REc1tiYJRSwg2kFg7MdI0yijQZJwNZ/FDRhnSVkDGtF+oNvd8Der3w==; _ym_d=1567501185; intl_locale=ru_RU; _ym_isad=2; _gid=GA1.2.1644469313.1568186411; XSRF-TOKEN=1c81e27b-4036-49dd-82e1-0089e187dcd6; _hvn_login=13; aep_usuc_t=ber_l=A2; _m_h5_tk=1d88fde86a84d7b061a85a6760a7c4fc_1568201443070; _m_h5_tk_enc=985d7a94e9c29eb91963bd696a2b1f4f; xman_f=RvAaL1P0wSB+26sEeTgmwjQHh6WamhcLAn6DyIrbd9fNhuHxZ7E8Lx315tbMYAdzn2lnYUJnzhRd57yn10sz7JSzbh4cKpiYImB8G9aGnbI/DyLmSWvgqd+1ZBQ0vQQdydocaYZ+B80SbfFvGEq7jc70QsHrVUqqmfb+k8SKgrOuabGivD6YsMl5sStC5OooTG1Dd7EOts0zDb5C3rqr2SwdVVZRhQ1U43c2h2oGM+vg/R74Z8ODwsHWL+hK0nJLwXP7/0Cso7V73SiW5YHufct/kXkNO8bny4RwWspJ0ZNPfIrddJ1o10cVAcxFCXAvSfvHZKghEefGTUyF8nawyCQAx5nUPOMIkrQVELGz5T2epUenADat9vgGntKCTTRUgTBtZsxM61Jyt7P2liMxREQvGhrQTNLY4PDCm6pMnCg=; re_ri_f=TPT0nSbaeArc+l/B2psPRdmszVwgYWoqRDIsxp6v1htElRd680482fJn6QlAVKyd; xman_t=5HfVGV8fTsbacUs9i6bmraZj+becMZ7taJTTb5qR6E7i/DvvtETndYbOxez1XGpf; acs_usuc_t=x_csrf=13eqm5rd9bbt6&acs_rt=7237025609d849dfb975fa04ed594d78; aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%0932725376363%0932979902441%0932866968488%0932939478669%0932970997863%0932951039865%0932995473904%0932885871484; AKA_A2=A; xman_us_f=zero_order=n&x_locale=ru_RU&x_l=0&last_popup_time=1566906603572&x_user=TJ|ifm|193202214&no_popup_today=n&x_as_i=%7B%22aeuCID%22%3A%22eba09d07103444bcad0e0a905289132f-1566728270328-00785-qtdR1i0%22%2C%22af%22%3A%22171927453%22%2C%22affiliateKey%22%3A%22qtdR1i0%22%2C%22channel%22%3A%22AFFILIATE%22%2C%22cv%22%3A%221%22%2C%22ms%22%3A%220%22%2C%22src%22%3A%22link-c-tool%22%2C%22tagtime%22%3A1566728270328%7D; aep_usuc_f=isfm=y&site=rus&c_tp=TJS&x_alimid=193202214&isb=y&region=TJ&b_locale=ru_RU; intl_common_forever=5PoeQl+80UZkWt7HGewPTot1/w91ACjxg3TZo/+DpfjpSfOBUAi6RA==; JSESSIONID=A487ED42A74BA941003E92F5956CE815; ali_apache_track=mt=1|mid=us1073174784; ali_apache_tracktmp=W_signed=Y; RT="sl=0&ss=1568206097874&tt=0&obo=0&sh=&dm=aliexpress.com&si=394edced-5e6a-47a3-98ad-b8139865521d&se=900&bcn=%2F%2F5f651e64.akstat.io%2F"; l=cBjChVjHqhKLZ5UUBOfwlurza77TZQAf1sPzaNbMiICPOm160BUABZUOOX8BCnMNLsdDR3z29KKbBJTE3yUIhEgTemuOd48A.; isg=BNDQis3IuStz7mUB7R7MGWr4oR7iMZ-62cO3Kcqj1SvoBXOvcqgmc9Jz3ZVA1Wy7',
];
//потом ДОБАВЛЯЕМ НОВЫЕ
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieJar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieJar);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, 'https://ru.aliexpress.com/glosearch/api/product?ltype=affiliate&d=y&CatId=0&SearchText=%D1%84%D1%83%D1%82%D0%B1%D0%BE%D0%BB%D0%BA%D0%B8&trafficChannel=af&SortType=default&page=1&origin=y');
$data = curl_exec($ch);
curl_close($ch);
print($data);

код рабочий, но через 5-30 запросов получаю капчу, потом спустя некоторое время отпускает, как избежать капчу? без вариантов прокси, как получить выдачу прямо как пользователь, с своего компьютера таких проблем не обнаружил.

Twickbot
На сайте с 13.03.2017
Offline
56
#1
mega94:
как избежать капчу?

Уже давно, практически все крупные сервисы используют защиту от парсинга с помощью яваскриптов.

Поэтому, единственный способ обойти ее - использовать браузеры.

Автоматизация работы в браузере. Пишу парсеры, постеры, кликеры, лайкеры, и т.п. (https://www.twickbot.com/forum/threads/38) Анекдоты (Telegram канал) (https://t.me/hihi_0) || Оригинальные рецепты (https://www.sharlotka.net)
A
На сайте с 07.01.2010
Offline
96
#2

zennoposter можно для подобных историй использовать, как раз что-бы а-ля в браузере открывалось и парсиролось

Создаем и продвигаем сайты различных тематик
webiumpro
На сайте с 20.03.2017
Offline
38
#3

Я в таких случаях использую headless chrome и пакет puppeteer под nodejs. Есть реализация puppeteer на php, но мне оказалось проще работать с браузером на ноде, потому что под php всё это работает не очень хорошо.

Копирование лендингов. Разработка на фреймворке сервисов. Создание сайтов (/ru/forum/994418)
M9
На сайте с 15.05.2014
Offline
79
#4

я в этих инструментах не разбираюсь, можно примеры с кодом то что рекомендуете, мне для начало будет поизучать то что вы предлагаете.

Magazinshik
На сайте с 15.06.2016
Offline
56
#5
mega94:
код рабочий, но через 5-30 запросов получаю капчу, потом спустя некоторое время отпускает, как избежать капчу? без вариантов прокси, как получить выдачу прямо как пользователь, с своего компьютера таких проблем не обнаружил.

Очевидно что проблема в интервалах между запросами, попробуйте поиграться с этим. Если даёт сделать 5-30 запросов, потом капча, а потом отпускает, значит где-то превышаете лимит на число запросов с одного IP/cookie в интервал времени.

Домены/сайты в Google News (/ru/forum/1001331) - мгновенная индексация и трафик
M9
На сайте с 15.05.2014
Offline
79
#6

Нашел еще интересный способ парсит данные, оказывается aliexpress в теле html выдает выдачу результатов вот:

Только вот как идеально вырезать данные внутри переменной window.runParams чуваки помогите с регуляркой пожалуйста

S
На сайте с 30.09.2016
Offline
459
#7
mega94:
как идеально вырезать данные внутри переменной window.runParams чуваки помогите с регуляркой пожалуйста

Там не нужна регулярка. Там нужна функция json_decode.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Samail
На сайте с 10.05.2007
Offline
328
#8

window\.runParams.+?({".+}})(?:,|;).+?csrfToken


---------- Добавлено 13.09.2019 в 00:11 ----------

Sitealert:
Там нужна функция json_decode.

Так сначала нужно получить этот json

M9
На сайте с 15.05.2014
Offline
79
#9
Samail:
window\.runParams.+?({".+}})(?:,|;).+?csrfToken


---------- Добавлено 13.09.2019 в 00:11 ----------


Так сначала нужно получить этот json

Спасибо вырезает как автомат

worldfoto
На сайте с 20.04.2012
Offline
178
#10
Alfinnov:
zennoposter можно для подобных историй использовать, как раз что-бы а-ля в браузере открывалось и парсиролось

Или поробуйте browser automation studio, все просто настраивается

⭐-> HostPro.ua_ - Лучший хостинг. с CPanel и бесплатным ssl сертификатом. Сам пользуюсь и рекомендую. Пожизненная скидка -10% с промокодом, на Хостинг, Cервера "searchengines-10%" https://bit.ly/38IeuNR
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий