2014-11-03 4 views
2

Я использую PHP и пытается скрести комментарии YouTube, но без использования использования API YouTubePHP принести Youtube Комментариев без API

Я могу принести первую страницу комментариев просто отлично, но «показать еще» форму с маркером трудно.

здесь живые заголовки для показа более запроса

https://www.youtube.com/comment_ajax?action_load_comments=1&filter=-kWHMH2kxXs&order_by_time=false 

POST /comment_ajax?action_load_comments=1&filter=-kWHMH2kxXs&order_by_time=false HTTP/1.1 
Host: www.youtube.com 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
DNT: 1 
X-YouTube-Page-CL: 78947767 
X-YouTube-Page-Timestamp: Fri Oct 31 12:43:20 2014 (1414784600) 
X-YouTube-Variants-Checksum: 9225d6367a37f5c51f11f11009c7ed18 
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
Referer: https://www.youtube.com/all_comments?v=-kWHMH2kxXs 
Content-Length: 1712 
Cookie: VISITOR_INFO1_LIVE=xJf1SvXMyvQ; PREF=fv=12.0.0&al=en&f5=30&f1=50000000; YSC=AQRpt5kYK6k; ACTIVITY=1414984537233; SID=DQAAANgAAAAVDrV25qIMIY1h4EnHCkB8QuHQpVPP2YhTT2PPvE2wkYbGLdHG9xQWEX_ADKYlKolQJRwza-Js_dmVlB-No68zaXnhLFm0NnbUaEV4zsaUwT5R_Kg1YvR2RvixP0OIw603Gax8sXIfXHmALqdYxWJ46Dt1qh2TmVoX06w7KlOQgvBE6_yViqu4j0b1iUSdVwJfMkhi8NVymGGsHWOVm027hdYdKKJTUC8-PJYbVKvItugatr0dJRL5_s6_l-P1ZFP2-OKrhb0H3ORmPU1EaFtsbPB3ZFjut09hxPFKCOq51w; HSID=A7izZQDyAow9noXRe; SSID=ALKL6xYLDPNuetixT; APISID=mOy8lSC4EJ0mUUs_/AjHuF16GPSuuL0gzQ; SAPISID=tmpcNtK_8ScRg3Mc/AMrBhFSc1O6ejr4HK; LOGIN_INFO=fe8cf1ebd49b7874eaf88ae7e3930925c2sAAAB7IjgiOiAxMzY1NjQ3NTc1MzUsICI0IjogIkdBSUEiLCAiNyI6IDE0MTQ5NDk2NDcsICIxIjogMSwgIjIiOiAiSWtxR3c2a2ZQdVRRQktZWHhGdWRaZz09IiwgIjMiOiAyNzc5ODQzNTk2fQ==; lwb=1; wide=1 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 
page_token=Cg0Q8o2Ks8HdwQIgACgBErMHCAIQ6OuMlsHdwQIqpQe2m7DWq%2BSSlskBkZa45rrvrcmUAfyw%2B4WRtdrj%2FAG57%2FHkzJuNvcYB2POv74G5pZ8Mo%2Frf4Om0q%2FgS39TjhqfnzrMd6JbK9qnmj5sCueOj2YLYwozGAe7z0di9pPucHO3%2Fs42y3ejI%2BQHLhcen4eTv5x7NgNyI35nQrIcB1emWlMOJtcnlAdflt%2BbyjLnC4QGZktCSyZro5Anvhui%2BqObE%2B9kB5cahueaIkf27Ae7kkt%2Fry%2BqyOKfNh%2BCooZ%2FwcJWwt%2BP2xZmjGpO5lIqhrayYlQG4t9z%2Bo%2FDA2sEB94DOtZmc2dQG%2FavmlfWh5PkehJ6lrrLIzIW6Adr9%2BuHWkLmPFITArbbFleOkzQH8ytjyg7iuloABg6j8t%2Bj2ypG6AaeNhpf5yq6FnAGxq7u%2Bx6Sjl4EBg4vMmNDj3ulAsK7JrsSUz9%2FKAeTs4OfIwt33ygG277%2BRvaHOpE7Vqtuw6ZOy%2FR%2By7Nrixrj%2BzgWqs8avyoSK2tgBp6fHg%2BKLh4dr6NOqqLnb8JnnAYKH87SF%2B%2BXujgHDv7SArt7Z0ZUBu6Sy3YTBo%2FZ9%2Ft7QwYSLneytAaXG%2BfKblNOsVO3Bj%2BHxiqnLSJmuyeXj6ZT67wGK%2F%2FO9n9nA0uIBuIaez6%2BP1aWWAeybq8L%2F44efFuWNrO7h8JCCBPiVz8eq0sCnQcHjjaS2go3M5QH0wI3WwNa%2B9Uq1o8mZ85SZ4jiKs5O38prnsq8B5pDPvK%2FxlbFGz7%2FA%2BuSR2cffAZePkYuJ35n6Mt%2FUyO73kfqiOMGetu%2F%2Fr%2BCDkAHgkeLxh5K1ugWmoLjQis%2FZlBzfhbLI%2Ff7%2BjpkBrYHs0fvW%2B%2FvAAYCl99yYrb66hwGP6vuCparSjqYB1LbP14TY8ZJg7oyBnOGppMCgAY6u1rXq9pr9nAGn167P5Mmp1iCR%2F%2FLzxI%2Fw1njc5KjE2cGZpGSKivTwzv7HgmnkmIjsn7ra6vkB%2FI2mxMXS9ZPaAarLnYXDnumlggHvobaC%2BYuQr9kBk7i9hsKjgd1XiY7T2u%2BHys3PAb2Nw97A7Z2vrQGfof2Coeay7nSG68mDmpjcnQqWw7W157Tw9GLdq9TXpajvrbcByp2Iy8Cex6rdAfqvsIGn0uHwaMOap9bYho%2BaVLrAxbKru6C1ngGt1drm%2FsWs9yW%2Fm9722KfXxr4Bq8GDlZbnz4wPj4GPj5bd0MzOAb3ZiovalKGiL7zYhbO81fvlPJjlto%2Bh26qewgHUy%2B3ZxuXk4AYYAQ%3D%3D&session_token=QUFFLUhqa0RnaTI1Z3dnTVdTaTZEbUM2Vkp4WWpnTlJPUXxBQ3Jtc0tuN2g1WTh0c2FIa2JMU0FER1oxWU5HTzNtMzMyLXRuUEYzeldzMU5VMnhmOXdUN0U2TnEzNW9KSjFXb0FoV1Y0QUxSTG9SWXVlSXk0am50RTFBcUhnSi10QklHdXVlcE5LUGVYLXZ0YzNvajUzYTZGRUhtbWVISklFS2JSSjVwRXdRWERua04yYktDd243NGFfOGcyVUdIZXVaMmc%3D 
HTTP/1.1 200 OK 
Alternate-Protocol: 443:quic,p=0.01 
Cache-Control: no-cache 
Content-Disposition: attachment 
Content-Encoding: gzip 
Content-Length: 13424 
Content-Type: application/json; charset=UTF-8 
Date: Mon, 03 Nov 2014 04:24:24 GMT 
Expires: Tue, 27 Apr 1971 19:44:06 EST 
Server: gwiseguy/2.0 
x-content-type-options: nosniff 
X-Frame-Options: SAMEORIGIN 
X-XSS-Protection: 1; mode=block 
X-Firefox-Spdy: 3.1 

Я могу построить мой запрос CURL со всеми параметрами URL, то есть легкая часть

https://www.youtube.com/comment_ajax?action_load_comments=1&filter=-kWHMH2kxXs&order_by_time=false 

Однако, как включить ли page_token?

У меня есть маркер извлеченного на странице комментариев показать больше формы, но я не знаю, как я полагаю, чтобы включить его

Я попробовал этот

$headers = array(
      "Cache-Control: no-cache", 
      "page_token=" . $dataToken 
     ); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

Но я продолжаю пнутый назад к ошибке

[HTTP/1.1 403 Forbidden Date: Mon, 03 Nov 2014 04:58:24 GMT Server: gwiseguy/2.0 Cache-Control: no-cache X-Frame-Options: SAMEORIGIN X-Content-Type-Options: nosniff Content-Type: text/html; charset=utf-8 X-XSS-Protection: 1; mode=block; report=https://www.google.com/appserve/security-bugs/log/youtube Expires: Tue, 27 Apr 1971 19:44:06 EST Content-Length: 0 Alternate-Protocol: 443:quic,p=0.01 ] 

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

Любая помощь будет высоко оценена.

Спасибо.

+0

какие мысли ??? – user1017063

+0

bump .... все еще пытаясь понять это – user1017063

+0

API прост, задокументирован, дает вам контроль над тем, когда Google будет оценивать ваши ограничения и быть более надежными. Почему бы вам не использовать его? – Phillip

ответ

1

Хотя в настоящее время only supported by the v2 API, вы должны пересмотреть до use it. После загрузки первой страницы комментариев от

https://gdata.youtube.com/feeds/api/videos/-kWHMH2kxXs/comments?orderby=published

вы бы только следовать next ссылке фида, чтобы получить следующую порцию комментариев.

+0

Интересно. Я подумал, что вам нужно сначала подписаться на ключ API, а затем ограничение скорости будет применено к вашим выборкам данных в комментариях. Знаете ли вы, что этот метод ограничен? Или я могу донести до моего сердца содержание? – user1017063

+0

Когда я впервые попробовал этот метод, он, казалось, работал хорошо, но теперь он, похоже, не работает для меня. Я получаю вашу ссылку, распечатывает 25 результатов из 2520 всего. Я выборки следующей ссылке [https://gdata.youtube.com/feeds/api/videos/-kWHMH2kxXs/comments?orderby=published & старт-маркер = Cg0QnryJirztwwIgACgBEhQIABDYo5jMo% 2B3DAhiImvTE3uDDAhgCIBk% 3D & макс-результаты = 25 = & OrderBy опубликована ], но когда я пытаюсь использовать следующую ссылку, он просто возвращает те же самые первые результаты, даже если я изменяю максимальную переменную результатов. Что я делаю не так? – user1017063

+0

Это ограничено, но я уверен, что ваш подход имеет еще более строгий предел, поскольку он не является официальным API вообще.Ваш URL-адрес не работает, потому что вы забыли правильно XML-декодировать URL-адрес перед его использованием (например, '&' должно быть '&' в конечном URL-адресе. – Phillip

0

page_token не является частью заголовков, это переменная POST. Вы должны положить его в часть тела вашего запроса.

Использование локон, я думаю, вы должны использовать следующее:

$fs="page_token=".urlencode("<your_token_goes_here>"); 
curl_setopt($ch,CURLOPT_POST, 1); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $fs); 
+0

скорее 'curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ fs);' предполагается, что токен правильно закодирован URL-адресом. –

+0

да, ваше право, я обновляю свой ответ. – Adam

+0

Спасибо за помощь. Вы проверили это? Я пробовал это, и я все еще получаю ту же запрещенную ошибку. – user1017063

Смежные вопросы