[C#源代码]百度网盘地址批量转换工具
源代碼地址 : ? ? ? ??http://download.csdn.net/detail/witch_soya/5185926
效果如圖
截止今日2013年3月27日10:13:48 還是可以使用的。但是不保證您在看到這篇文章的時(shí)候百度已經(jīng)改變了文檔結(jié)構(gòu)。吼吼。那就不要在樓主的帖子底下NC的罵LZSB了,群眾的眼睛是雪亮滴~~~
幾個(gè)月前用爬蟲(chóng)將月之門游戲音樂(lè)在線試聽(tīng)的地址爬出來(lái)了,發(fā)現(xiàn)都存在于百度網(wǎng)盤中,詳見(jiàn)?http://blog.csdn.net/witch_soya/article/details/8486213
? ? ?
? ? ? ? ?用了一些辦法,沒(méi)能將文件從百度網(wǎng)盤中批量提出來(lái)。后來(lái)又過(guò)了一段時(shí)間,看了一眼百度網(wǎng)盤網(wǎng)頁(yè)代碼,發(fā)現(xiàn)挺簡(jiǎn)單,是我想復(fù)雜了。于是寫(xiě)了這個(gè)百度網(wǎng)盤文件地址批量轉(zhuǎn)換工具。也沒(méi)什么牛逼的技術(shù),發(fā)上來(lái)只希望能對(duì)有需要的人有一些幫助。
? ? ? ?百度網(wǎng)盤的地址是類似于這樣的
? ?http://pan.baidu.com/share/link?shareid=112684&uk=455690558
? ? ? ? ? 轉(zhuǎn)換完畢得到的地址可以直接用迅雷去下載的是這樣。
http://www.baidupcs.com/file/8d29f2f27f5939fabc7260e23f4739dd?fid=455690558-250528-2069072566&time=1364348891&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203-QEMyAofAasbPaHUkB96JtiPppWQ%3D&expires=8h&sh=1&response-cache-control=private
? ? ? ? 因?yàn)槲抑皇菫榱讼螺d月之門游戲音樂(lè)在百度網(wǎng)盤中的地址,所以沒(méi)有試過(guò)其他的文件地址對(duì)不對(duì)。但是既然源碼都放出來(lái)了。大家就自己調(diào)試一下了。
? ? ? ?流程起始很簡(jiǎn)單,就是模擬瀏覽器去訪問(wèn)百度盤的地址,然后提取其中的實(shí)際地址,核心函數(shù)就是這個(gè)
?
//百度盤地址 http://pan.baidu.com/share/link?shareid=112694&uk=455690558 private string ConvertBaiduPan_Thunder(string strBaiduPan){if (strBaiduPan == null){return null;}string strThunder = null;//訪問(wèn)百度盤地址string strBaiduPanWebPage = MyHttp.GetHtml(strBaiduPan);if (strBaiduPanWebPage == ""){MessageBox.Show("訪問(wèn)地址失敗!"+ strBaiduPan);goto End;}//取出 <a class="dbtn cancel b-fr" href="http://www.baidupcs.com/file/8d29f2f27f5939fabc7260e23f4739dd?fid=455690558-250528-2069072566&time=1358472203&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203-E0ZjQ1awurzhDkjhV5c%2BtTN05nA%3D&expires=8h&sh=1&response-cache-control=private" id="downFileButtom"><b>下載(2.44M)</b></a>//匹配正則表達(dá)式 <a class="dbtn cancel b-fr" href="http://.*?">*.id="downFileButtom"><b>Regex r = new Regex("<a class=\"dbtn cancel b-fr\" href=\"http://.*?\">*.id=\"downFileButtom\"><b>");//開(kāi)始匹配Match m = r.Match(strBaiduPanWebPage);string strLink = null;while (m.Success){strLink = m.Groups[0].Value;//提取出其中href的值 http://www.baidupcs.com/file/8d29f2f27f5939fabc7260e23f4739dd?fid=455690558-250528-2069072566&time=1358470090&sign=FDTA-DCb740ccc5511e5e8fedcff06b081203-OiOC3pLc236790OikWTlSsTHWjc%3D&expires=8h&sh=1&response-cache-control=private" id="downFileButtom"Regex r2 = new Regex("http.*\"");//開(kāi)始匹配Match m2 = r2.Match(strLink);while (m2.Success){strLink = m2.Groups[0].Value;strLink = strLink.Replace("&", "&");// 包含雙引號(hào) " id="downFileButtom"strLink = strLink.Replace("\"","");strLink = strLink.Replace("id=downFileButtom", "");m2 = m2.NextMatch();}//從上一個(gè)匹配結(jié)束的位置開(kāi)始下一個(gè)匹配m = m.NextMatch();strThunder = strLink;} End:return strThunder;}? ? ? ? 以上這個(gè)函數(shù)就是取出百度網(wǎng)盤中文件地址的函數(shù)了。很簡(jiǎn)單的網(wǎng)頁(yè)抓取和文字匹配是吧。 ?如果有什么不明白的,自己看源碼,或者給我留言。作為小白,樂(lè)意和眾多菜鳥(niǎo)交流。
/*************************************/
witch_soya 2013年3月27日10:03:25
/*************************************/
總結(jié)
以上是生活随笔為你收集整理的[C#源代码]百度网盘地址批量转换工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HTML5+CSS期末大作业:个人主页介
- 下一篇: docker运行centos镜像发布py