2014-12-11 1 views
0

https://www.google.co.in/search?q=black+sabbath+%E2%80%93+iron+man&oq=black+sabbath+%E2%80%93+iron+man&aqs=chrome..69i57.461j0j4&sourceid=chrome&es_sm=122&ie=UTF-8Как получить доступ к первому результату результата поиска Google (заметно видео-ссылка)?

В приведенной выше ссылке самым первым результатом является видеосвязь с youtube, я хочу получить доступ к предоставленной ссылке. Как я могу это сделать в python?

EDIT: Мой ввод будет строкой, которую я запрашиваю в окне поиска Google. Как и в этом случае «черный субботний железный человек»

+2

Что вы пробовали? Кроме того, будьте более конкретными: хотите ли вы просто иметь эту ссылку в виде строки? Вы хотите получить содержимое из этой ссылки? –

+0

Для этого вы, вероятно, можете использовать BeautifulSoup. – HarryCBurn

+0

да, я хочу рассмотреть точную ссылку как строку! @Oliver –

ответ

3

соскабливания HTML является хрупкая - да, вы можете сделать это с beautifulsoup4, например

import bs4 
soup = bs4.BeautifulSoup(html_string) 
href = soup.find('h3').find('a').get('href') 
print(href) 

покажет /URL д = http://www.youtube.com/watch%3Fv%3D9LjbMVXj0F8&sa=U&ei=ESCPVPD6NcT3yQS-04C4DA&ved=0CBQQtwIwAA&usg=AFQjCNGV1u7FshGW4K_Ffu0zLzwaW7sCzw или? как. Тем не менее, малейшее косметическое изменение результатов поиска в Youtube может нарушить ваше приложение.

Лучше зарегистрировать свое приложение в Google и использовать предоставленный API, согласно Google's own docs. Клиентская библиотека Python прекрасно поддерживает App Engine, например, https://developers.google.com/youtube/v3/code_samples/python_appengine.

+2

Поддержка CSSStyle от BeautifulSoup делает это более читаемым и надежным с помощью 'soup.select ('h3 a [href]') [0] ['href']'. Не уверен, был ли пользователь после только видео YouTube или результатов поиска Google, но нет никакого хорошего API для последнего, не так ли? (И добро пожаловать обратно к ответу! :-)) –

+0

Привет, Martijn, да, вы можете немного соскоблить, но он все равно будет очень хрупким. Вы правы, что API Google Search API был отключен недавно после 3+ лет устаревания, - и очистка результатов поиска нарушает TOS, как указано в http://stackoverflow.com/questions/22657548/is-it-ok- to-scrape-data-from-google-results. –

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