ACFUNProject{網頁通用篩選抓取器+C#初學者簡易教程}

來源:互聯網
上載者:User

本文發佈於ACFUN 轉載請註明

(http://www.acfun.tv/v/ac291028/)

隨著龍年的到來,ACFUN也要開始新的一年了,這新的一年裡 總希望為AC娘做點什麼事情,想來想去,一個苦逼的程式員還是為AC寫點小工具,做成ACTOOL工具集好了。希望這個工具可以給大家帶來些便利,更多的大家想要的功能,讓大家一起完成這個東西吧~希望能喚醒一些潛在的AC職人~

下面的工具都是開源的,大家可以隨意傳播隨意更改,但請不要去掉ACFUN的LOGO 

那今天晚上就先寫個“樓主是好人”和C#編程的基礎教程好了。

不知道大家有沒有經常遇到樓主放福利的情況,經常是樓主在上面放東西,樓下一堆“樓主是好人,好人一生平安” 然後留了一地郵箱。

這個情況下作為樓主怎麼有那麼多的時間來一個一個抓取郵箱啊,所以然最近也打算學一下Regex,就順便連帶做了一個樓主是好人的郵箱採集器。(我會跟你們說是因為每次我留下郵箱都沒有收到福利才寫的麼)

拿這篇

龍年吉祥!西瓜的萬張白絲黑絲各種絲福利圖包大放送!

http://www.acfun.tv/v/ac290658/

為例子好了

地址就是ac290658

填入捕獲,等待一會就可以抓取到全部的郵箱了

當然,為了方便一次性發送福利,所以分隔字元號可以設成成分號以便發送(;)

當然百度貼吧等其他正常網站也可以抓取的

其實只要運算式自己寫好了 什麼都能抓的,比如抓一些MP3檔案其他的什麼的

關於運算式的寫法,我建議使用RegexBuddy

這個工具可以檢測也可以圖形化的插入運算式非常方便。

比如希望把這個改造抓取評論中up主留下的115地址 可以把運算式改成 115.com/file/([\w-.]+)

 

這樣就抓取到了115的地址了,不過由於今晚時間關係,我沒寫過濾,可能會重複。一開始是想反正郵箱有內建過濾的就沒寫了 =  =。

 

 

 

接下來就是教大家簡單寫點小東西,以此來擴充ACTOOL。因為是基礎的,所以推薦用很容易使用的C#

其實編程沒有大家想象的那麼難,不要羨慕技術宅了,他們只是比你們更懂得搜尋一下
作為編程入門推薦用C#,做點小工具簡單好用。

那麼就開始手把手教 0基礎的(渴望變成技術宅的)新手做一個小工具。

比如說最近曹老爺這個騷貨經常發的“圖種”,就是那種圖片右鍵另存新檔rar格式就有神奇的東西出現的那圖種,這個看起來似乎很牛B,但是實際上是很簡單就可以實現的。

究竟多簡單呢,百度一下好了

百度後發現,原來只需要用一個

copy /b A.JPG+B.RAR C.JPG

的CMD命令就可以實現了 沒錯,就是把要製作的檔案對號入座填寫到CMD裡面就行了

那麼就是這個原理了,軟體就是要讓複製的過程變得簡單,因此我們不想每次都打這個命令
所以我們就讓軟體幫我們打吧

1:首先裝好VS2010
2:開啟建立-項目-Visual C# 右邊選擇Windows 表單應用程式


3:確定後出現一個空白框
4:看到左邊有一堆控制項, label就是讓你寫文字 Button就是按鈕,textbox框就是輸入文字框,你們可以按照我做的原樣把控制項拖進去

然後點某個控制項,可以看到有Text這個屬性,就可以改文本名字了

因為是基礎的東西,所以就簡單講了,先雙擊我們拖出來的Button控制項

會自動跳轉到cs代碼檔案,這個時候就是讓你寫按下這個Button的時候會發生什麼事情

 
那我想讓他執行CMD上面那段代碼,怎麼辦?不會寫啊
那百度吧,新手無限百度就可以了 找到執行CMD命令的C#代碼了

     public void RunCmd(string cmd) //隱式執行CMD

        {

            Process proc = new Process();
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardError = true;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.Start();
            proc.StandardInput.WriteLine(cmd);
            proc.Close();

        }

作為新手的話 看不懂也無所謂,只要能會用,等以後就能領悟這段代碼的意思了

這段代碼是一個“方法”,方法中不能定義另一個方法,所以我們把這段代碼貼在
  private void button1_Click(object sender, EventArgs e) {   }
外面

貼完後回到那個空空的
  private void button1_Click(object sender, EventArgs e) {   }

我們現在就是要往{ }裡面寫代碼,要怎麼寫呢,因為我們剛剛找到了那段執行CMD的代碼,所以直接就調用RunCmd這個方法就可以了

我們往空空的{}裡面寫上 RunCmd("notepad");

然後試試看按下F5啟動程式,點一下你的那個Button看看,是不是跳出一個記事本了?

 

沒錯,剛剛就是在cmd命令下 打下了 notepad 這個行命令,啟動了記事本,所以我們只需要把上面那個notepad換成 copy /b A.JPG+B.RAR C.JPG  就行了

但是A\B\C這些檔案都是未知的,所以要讓使用者自己選。 這個時候可以讓使用者自己填寫這些地址,然後我們把這個地址作為參數傳入進去就可以了。為了最大程度方便,我寫成了拖入式的方法。 

至於拖入檔案擷取檔案路徑的這個我已經寫好了,既然是0基礎的就暫時講這些好了,其他的也差不多是這樣的。

 

我留個作業好了

1:參照批量截取AC評論,做一個百度貼吧 所有該貼評論都能截取到的功能,輸入百度貼子ID擷取該貼所有評論

2:做一個重複過濾(提示:利用split將截取的內容分組再百度個方法過濾即可。)

如果還是不懂的可以參見我的原始碼,多多百度 多多學習一下。希望ACFUN人才輩出 多多為AC新的一年裡重生做貢獻!

http://115.com/file/e7h0vvd2

#原始碼及程式.rar

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.