我用webhttprequest去分析百度MP3页面,从页面中得到MP3的地址首先是申请得到搜索结果的界面 歌曲名 歌手名 专辑名 试听 歌词 铃声 大小 格式 链接速度
1 后来 刘若英 我会陪你 试听 歌词 铃声 1.1 M wma
2 后来 刘若英 我会陪你 试听 歌词 铃声 5.2 M mp3 这个样子,点击最左边的歌曲名,可以进入下一个界面,也就是MP3地址的界面
http://220.181.38.82/m?word=mp3,http://www.suzkb.com/singing/userfiles/video/Y2JjbWZoZ2xiZGNnZ2ptOA$$.mp3,,[%BA%F3%C0%B4]&ct=134217728&tn=baidusg,后来 &si=%BA%F3%C0%B4;;%C1%F5%C8%F4%D3%A2;;14970;;14970&lm=16777216&sgid=2但是用webhttprequest请求,却得不到MP3的地址,因为它里面的地址是执行js的到的,请问,我如何去得到MP3地址用webbrowser能行吗?但是他页面源文件中,也不包含MP3地址另外我下载MP3时,怎么获得下载速度。我么次读1024个字节,获得读取的时间,然后计算,这样算的速度很不准确
1 后来 刘若英 我会陪你 试听 歌词 铃声 1.1 M wma
2 后来 刘若英 我会陪你 试听 歌词 铃声 5.2 M mp3 这个样子,点击最左边的歌曲名,可以进入下一个界面,也就是MP3地址的界面
http://220.181.38.82/m?word=mp3,http://www.suzkb.com/singing/userfiles/video/Y2JjbWZoZ2xiZGNnZ2ptOA$$.mp3,,[%BA%F3%C0%B4]&ct=134217728&tn=baidusg,后来 &si=%BA%F3%C0%B4;;%C1%F5%C8%F4%D3%A2;;14970;;14970&lm=16777216&sgid=2但是用webhttprequest请求,却得不到MP3的地址,因为它里面的地址是执行js的到的,请问,我如何去得到MP3地址用webbrowser能行吗?但是他页面源文件中,也不包含MP3地址另外我下载MP3时,怎么获得下载速度。我么次读1024个字节,获得读取的时间,然后计算,这样算的速度很不准确
object obj = mywebbrowser.Document.InvokeScript("js函数名,注意不带括号", new object[]{"参数表"});返回值是个javascript对象,可以使用反射调用它的方法,比如调用toString()方法:
object o = obj.GetType().InvokeMember("toString", System.Reflection.BindingFlags.InvokeMethod, null, obj, null);也可以获取属性,比如获取id属性:
foreach (PropertyInfo pinfo in obj.GetType().GetProperties())
{
if (pinfo.Name == "id")
{
object ob = pinfo.GetValue(obj, null);
if (ob != null)
{
string id = ob.ToString();
}
}
}