Расшифровка закодированных URL-адресов Новостей GooglePython

Программы на Python
Anonymous
Расшифровка закодированных URL-адресов Новостей Google

Сообщение Anonymous »

Я сохранил поиск на https://news.google.com/, но Google не использует фактические ссылки, найденные на странице результатов. Скорее вы найдете такие ссылки:

https://news.google.com/articles/CBMiUG ... id=US%3Aen


Мне нужна «настоящая ссылка», которая разрешает использование Python. Если вы вставите указанный выше URL-адрес в свой браузер, на долю секунды вы увидите

Открытие https://www.pokernews.com/strategy/wsop-main-event -tips-nine-champions-31287.htm

Я попробовал несколько вещей с помощью модуля «Запросы», но «сигары нет».

Если это невозможно, являются ли эти ссылки Google постоянными — всегда ли их можно использовать для открытия веб-страницы?

ОБНОВЛЕНИЕ 1:< /p>

После публикации этого вопроса я использовал хак, чтобы решить проблему. Я просто снова использовал urllib, чтобы открыть URL-адрес Google, а затем проанализировал источник, чтобы найти «настоящий URL-адрес».

Было интересно увидеть ответ TDG, поскольку он мог бы помочь. моя программа работает быстрее. Но Google ведет себя загадочно, и ссылка не работала вечно.

В этой утренней ленте новостей он взорвался на 4-й новости:

RESTART: C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\rssFeed1.py
cp1252
cp1252
>>> 1
Tommy Angelo Presents: The Butoff
CBMiTWh0dHBzOi8vd3d3LnBva2VybmV3cy5jb20vc3RyYXRlZ3kvdG9tbXktYW5nZWxvLXByZXNlbnRzLXRoZS1idXRvZmYtMzE4ODEuaHRt0gEA
b'\x08\x13"Mhttps://www.pokernews.com/strategy/tommy-angelo ... d2\x01\x00'
Flopped Set of Nines: Get All In on Flop or Wait?
CBMiXGh0dHBzOi8vd3d3LnBva2VybmV3cy5jb20vc3RyYXRlZ3kvZmxvcHBlZC1zZXQtb2YtbmluZXMtZ2V0LWFsbC1pbi1vbi1mbG9wLW9yLXdhaXQtMzE4ODAuaHRt0gEA
b'\x08\x13"\\https://www.pokernews.com/strategy/flop ... d2\x01\x00'
What Not to Do Online: Don’t Just Stop Thinking and Shove
CBMiZWh0dHBzOi8vd3d3LnBva2VybmV3cy5jb20vc3RyYXRlZ3kvd2hhdC1ub3QtdG8tZG8tb25saW5lLWRvbi10LWp1c3Qtc3RvcC10aGlua2luZy1hbmQtc2hvdmUtMzE4NzAuaHRt0gEA
b'\x08\x13"ehttps://www.pokernews.com/strategy/what-not-to- ... d2\x01\x00'
Hold’em with Holloway, Vol. 77: Joseph Cheong Gets Crazy with a Pair of Ladies
CBMiV2h0dHBzOi8vd3d3LnBva2VybmV3cy5jb20vc3RyYXRlZ3kvaG9sZC1lbS13aXRoLWhvbGxvd2F5LXZvbC03Ny1qb3NlcGgtY2hlb25nLTMxODU4Lmh0bdIBAA
Traceback (most recent call last):
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\rssFeed1.py", line 68, in
GetGoogleNews("https://news.google.com/search?q=site%3 ... id=US%3Aen", 'news')
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\rssFeed1.py", line 34, in GetGoogleNews
real_URL = base64.b64decode(coded)
File "C:\Users\Mike\AppData\Local\Programs\Python\Python36-32\lib\base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Incorrect padding
>>>


ОБНОВЛЕНИЕ 2:

После прочтения base64 я думаю, что сообщение о дополнении «Неправильное заполнение» означает, что входная строка должна делиться на 4. Поэтому я добавил «аа» к

CBMiV2h0dHBzOi8vd3d3LnBva2VybmV3cy5jb20vc3RyYXRlZ3kvaG9sZC1lbS13aXRoLWhvbGxvd2F5LXZvbC03Ny1qb3NlcGgtY2hlb25nLTMxODU4Lmh0bdIBAA


и не получил сообщение об ошибке:

>>> t = s + 'aa'
>>> len(t)/4
32.0
>>> base64.b64decode(t)
b'\x08\x13"Whttps://www.pokernews.com/strategy/hold-em-with ... 00\x06\x9a'


Подробнее здесь: https://stackoverflow.com/questions/511 ... -news-urls

Вернуться в «Python»