2012-04-04 6 views
2

예를 들어 YouTube 링크 (예 : http://www.youtube.com/watch?v=_Ka2kpzTAL8)를 복사하여 Facebook 상태 업데이트 인 Facebook에 붙여 넣으면 어떻게 든 비디오의 정지 영상을 잡습니다. 같은 것을하는 기능을 만들고 싶지만 이미지를 찾는 방법을 모른다.YouTube 동영상 페이지의 이미지 긁힘

누구나 올바른 방향으로 나를 가리킬 수 있습니까? PHP, Python, Ruby 또는 Perl을 사용할 수 있습니다.

+0

조금 더 멀어졌습니다. Facebook에 표시되는 미리보기 이미지의 URL을 볼 수 있다고 생각했습니다. 이 URL은 YouTube 페이지의 마크 업에 '와 같이 표시됩니다. 이제 나는 그걸 어떻게 잡을 수 있는지 알아 내야 만합니다. –

+0

흠 ... 많이 도와 줄 수는 없지만 Chrome에서 Youtube로 이동하여 동영상을 찾은 다음 설정 -> 도구 -> 개발자 도구 -> 리소스를 클릭하면 각 동영상 프레임 목록이 있습니다. 당신이 지적한대로 대부분은 ytimg.com에 있습니다. – elliottbolzan

답변

3

좋아, 찾았습니다!

다음 링크로 이동 : http://i4.ytimg.com/vi/something/hqdefault.jpg 동영상을 YouTube의 동영상 ID로 바꿉니다. 더 작은 이미지의 경우 URL의 hq 부분 만 제거하면됩니다.

0

나는 또한이 구현이 두 가지 방법임을 확인할 수 있습니다. Ruby 화면 스크레이퍼 (검색 응용 프로그램)를 사용했습니다. @http://stripsearch.me

  # search10b Youtube crawl9 
      @search10a1 = search_array[1] 
      if search_array[1].present? 
       @results_9b = [] 
       params_9b = search_array[1].split.map(&:downcase).join('+') 
       search_url_yt_9b = url_9b << params_9b 

       doc_9b = Nokogiri::HTML(open(search_url_yt_9b).read, nil, 'utf-8') 

       entries_9b = doc_9b.css('.yt-ui-ellipsis-2.spf-link') 

       if entries_9b.size != 0 

        entries_9b.each do |entry_9b| 
         title = entry_9b['title'] 
         li = "https://www.youtube.com" 
         nk = entry_9b['href'] 
         link = li << nk 
         img_src = entry_9b['href'] 
         uid = img_src.split('=').last 
         precede_url = "http://i4.ytimg.com/vi/" 
         append_url = "/hqdefault.jpg" 
         img_url = precede_url << uid << append_url 
         precede_tag = "<img src=" 
         append_tag = ">" 
         img = precede_tag << img_url << append_tag 
         @results_9b.push(title, link, img) 
        end 
       else 
        @error_9b = "no results found here for " + params_9b 
       end 
      end