2014-12-11 4 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-8Google 검색 결과의 첫 번째 결과에 액세스하는 방법 (눈에 띄게 동영상 링크)?

위 링크에서 제공되는 첫 번째 결과는 YouTube에 대한 비디오 링크입니다. 제공된 링크에 액세스하고 싶습니다. 파이썬으로 어떻게 할 수 있습니까?

편집 : 내 입력은 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을 표시합니다 Q를 = http://www.youtube.com/watch%3Fv%3D9LjbMVXj0F8&sa=U&ei=ESCPVPD6NcT3yQS-04C4DA&ved=0CBQQtwIwAA&usg=AFQjCNGV1u7FshGW4K_Ffu0zLzwaW7sCzw 나? 처럼. 그러나 Youtube 검색 결과의 외관상의 변화로 인해 애플리케이션이 손상 될 수 있습니다.

Google's own docs과 같이 Google에 앱을 등록하고 제공된 API를 사용하는 것이 좋습니다. Python 클라이언트 라이브러리는 App Engine을 훌륭하게 지원합니다 (예 : https://developers.google.com/youtube/v3/code_samples/python_appengine 참조).

+2

BeautifulSoup의 CSS 지원은'soup.select ('h3 a [href]') [0] [ 'href']'로 좀 더 읽기 쉽고 견고 해졌습니다. 사용자가 YouTube 동영상이나 Google 검색 결과를 보았을 지 확신 할 수 없지만 후자에 대한 올바른 API는 없습니다. 맞습니까? (답장으로 돌아 오신 것을 환영합니다! :-)) –

+0

안녕 Martijn, 예, 당신은 좀 더 견고하게 긁을 수 있지만, 여전히 매우 약해집니다. 3 년 이상 사용 중단 된 후에 Google 검색 API가 최근 사용 중지되었습니다. http://stackoverflow.com/questions/22657548/is-it-ok-ko에서 언급했듯이 검색 결과를 스크래핑하여 서비스 약관 (TOS)을 위반했습니다. google 결과에서 긁어 모으기 자료. –