我最终需要完成的是
一个。将URL发送到此页面上的表单:youtube-mp3.org
B中。获取结果页面上链接的scr属性。
我正在使用Ruby on Rails并尝试使用此方法发送请求并获取结果页面的正文:
require 'uri'
yt_uri = URI('http://www.youtube-mp3.org')
params = { :id => "youtube-url" , :value => "http://www.youtube.com/watch?v=KMU0tzLwhbE" }
yt_uri.query = URI.encode_www_form(params)
res = Net::HTTP.get_response(yt_uri)
res.body
它工作正常但问题是网站使用javascript来呈现链接,因此它没有显示在源代码中。相反,我得到
<noscript>
<div class="warning">You have to enable JavaScript to use this Service!</div>
</noscript>
有没有办法解决这个问题。我对任何建议持开放态度
答案 0 :(得分:0)
有两条路线:
在这种情况下,它非常简单。转到http://www.youtube-mp3.org
,打开浏览器的可靠网络调试器,然后使用Web表单。现在,返回并检查请求和响应。
就我而言,似乎有四次外部元素调用:
前三个请求中没有任何内容,但第四个有一些有趣的JSON,最后一个是视频的缩略图。
来自/ a / iteminfo的文字:
info = { "title" : "Developers", "image" : "http://i.ytimg.com/vi/KMU0tzLwhbE/default.jpg", "length" : "3", "status" : "serving", "progress_speed" : "", "progress" : "", "ads" : "", "pf" : "", "h" : "a0bb1715519025e36487b173b231295c" };
而且,对于那些在家中跟随的人,链接src jsamm正在努力寻找:
http://www.youtube-mp3.org/get?video_id=KMU0tzLwhbE&h=a0bb1715519025e36487b173b231295c&r=1380935176286
video_id
很容易理解 - 我们已经拥有它。 {J} blob中返回了h
值。 r
有点神秘 - 但它看起来非常像当前的unix时代+ 3个额外数字。哦等等 - 这就是Javascript Date.getTime()
给你的东西!
无论如何,不要这样做。你不仅对任何经营youtube-mp3.org的人都是一个混蛋,你几乎肯定违反了YouTube的服务条款,而且你在丑陋的版权水域游泳。