Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,518

HOME > บทความจากสมาชิก > โค้ดสำหรับโหลดไฟล์จากเว็บ one2up แบบบ้านๆ





 
Clound SSD Virtual Server

โค้ดสำหรับโหลดไฟล์จากเว็บ one2up แบบบ้านๆ

โค้ดสำหรับโหลดไฟล์จากเว็บ one2up แบบบ้านๆ

สืบเนื่องจากที่ผมได้งมศึกษาเกี่ยวกับ RegularExpressions มานานพอสมควร
และต้องขอขอบคุณ

http://regexhero.net/tester/

หลังจากที่ลองผิดลองถูกอยู่หลายวันก็เริ่มคล่อง
ถึงเวลาที่จะต้องเอามาใช้งานกันซักที

พอดีที่แล็บจะจัดเลี้ยงปีใหม่วันที่ 16/01/2558(น่าจะเรียกจัดเลี้ยงปีเก่าคงเหมาะ)
ผมจึงต้องค้นหาเพลง และ คาราโอเกะ เพื่อเปิดในงาน

เว็บที่ผมชอบมากอีกเว็บก็คือ

http://www.one2up.com/

โหลดฟรีโหลดง่ายใช่คล่องดี
แต่เสียอย่างเดียวเวลาโหลดมาต้องมานั่งเปลี่ยนชื่อใหม่

ผมจึงคิดว่าน่าจะมีโปรแกรม getlink rename ให้เรียบร้อยก่อนโหลด
ว่าดังนั้นจึงลองวิชาเกี่ยวกับ RegularExpressions ซะเลย

ขั้นตอนแบบบ้านๆมีดังนี้ครับ

1.getHTML ออกมาก่อน
2.getcontent_ID ,getfilename ออกมา
3.เอา URL content_ID มา getlink แบบนี้
4.ส่งให้ IDM โหลดมันโลด

มีแค่นี้ครับ

getHTML
string getHTML(string url)
        {
            string html = "";
            try
            {
                System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url.Trim());
                System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
                System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream());
                html = sr.ReadToEnd();
                sr.Close();
                response.Close();
            }
            catch { }
            return html;
        }


ต่อมาก็ getcontent_ID ,getfilename

Code (C#)
System.Text.RegularExpressions.Regex regexListcontent_ID = new System.Text.RegularExpressions.Regex(@"(?:<div.*?(view_content.php\?content_ID=[0-9]+)\"".*?<b>(.*?)<.*?ขนาดไฟล์(.*?)<br>)", System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.CultureInvariant);

void getListHTML(string strsearch, int _min, int _max)
        {
            for (int i = _min; i <= _max; i++)
            {

                getListHTML(new object[] { "http://www.one2up.com/list_content.php?page="+i+"&txt_Search="+strsearch+"&radio_type=content_Name" });
                System.Threading.Thread.Sleep(100);
            }
        }
         void getListHTML(string URL)
         {
             getListHTML(new object[] { URL });
         }
         void getListHTML(object obj)
        {
            string url = (string)((object[])obj)[0];
            this.Invoke(new Action(() => { this.Text = url; }));
            foreach (System.Text.RegularExpressions.Match match in regexListcontent_ID.Matches(getHTML(url)))
            {
                dataGridView1.Invoke(new Action(() => { dataGridView1.Rows.Add(true, "http://www.one2up.com/" + match.Groups[1].Value, match.Groups[2].Value, match.Groups[3].Value, GetLinkByID("http://www.one2up.com/" + match.Groups[1].Value)); })); 
                System.Threading.Thread.Sleep(100);
            }

        }


ต่อมาก็ getlink
Code (C#)
System.Text.RegularExpressions.Regex regexLinkFile = new System.Text.RegularExpressions.Regex("(?:\"txt_URL\" id=\"txt_URL\" value)=[\"|']?(.*?)[\"|'|>]", System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.CultureInvariant);
        

string GetLinkByID(string URL_ID)
         {
             return (URL_ID == null || URL_ID == string.Empty) ? "" : regexLinkFile.Matches(getHTML(URL_ID))[0].Groups[1].Value;
         }


ส่วน IDM command line

https://www.internetdownloadmanager.com/support/command_line.html

ทีนี้ก็ออกแบบหน้าตาแบบบ้านๆมาใช้งาน

13

ส่วนโค้ดบ้านๆทั้งหมดก็ประมาณนี้ครับ

Code (C#)
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System;

namespace LoadOne2UpIDM
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }


         System.Text.RegularExpressions.Regex regexListcontent_ID = new System.Text.RegularExpressions.Regex(@"(?:<div.*?(view_content.php\?content_ID=[0-9]+)\"".*?<b>(.*?)<.*?ขนาดไฟล์(.*?)<br>)", System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.CultureInvariant);
         System.Text.RegularExpressions.Regex regexLinkFile = new System.Text.RegularExpressions.Regex("(?:\"txt_URL\" id=\"txt_URL\" value)=[\"|']?(.*?)[\"|'|>]", System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.CultureInvariant);
         System.Text.RegularExpressions.Regex regexFileName = new System.Text.RegularExpressions.Regex("(?:content=\"Other->)(.*?)[\"|'|>|/]+", System.Text.RegularExpressions.RegexOptions.Singleline | System.Text.RegularExpressions.RegexOptions.CultureInvariant);
        string pathIDM = @"C:\Program Files\Internet Download Manager\IDMan.exe";
         string getHTML(string url)
         {
             string html = "";
             try
             {
                 System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url.Trim());
                 System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
                 System.IO.StreamReader sr = new System.IO.StreamReader(response.GetResponseStream());
                 html = sr.ReadToEnd();
                 sr.Close();
                 response.Close();
             }
             catch { }
             return html;
         }
         void getListHTML(string strsearch, int _min, int _max)
        {
            for (int i = _min; i <= _max; i++)
            {

                getListHTML(new object[] { "http://www.one2up.com/list_content.php?page="+i+"&txt_Search="+strsearch+"&radio_type=content_Name" });
                System.Threading.Thread.Sleep(100);
            }
        }
         void getListHTML(string URL)
         {
             getListHTML(new object[] { URL });
         }
         void getListHTML(object obj)
        {
            string url = (string)((object[])obj)[0];
            this.Invoke(new Action(() => { this.Text = url; }));
            foreach (System.Text.RegularExpressions.Match match in regexListcontent_ID.Matches(getHTML(url)))
            {
                dataGridView1.Invoke(new Action(() => { dataGridView1.Rows.Add(true, "http://www.one2up.com/" + match.Groups[1].Value, match.Groups[2].Value, match.Groups[3].Value, GetLinkByID("http://www.one2up.com/" + match.Groups[1].Value)); })); 
                System.Threading.Thread.Sleep(100);
            }

        }
         string GetLinkByID(string URL_ID)
         {
             return (URL_ID == null || URL_ID == string.Empty) ? "" : regexLinkFile.Matches(getHTML(URL_ID))[0].Groups[1].Value;
         }
         void LoadOne2UpByID()
         {
             for (int i = 0; i < dataGridView1.RowCount - 1; i++)
             {
                 if ((bool)dataGridView1[0, i].Value == true && dataGridView1[2, i].Value.ToString() != "xxx")
                 {
                     System.Diagnostics.Process.Start(pathIDM, "/a /n /d " + dataGridView1[4, i].Value.ToString() + "  /f \"" + dataGridView1[2, i].Value.ToString() + "\"");
                     System.Threading.Thread.Sleep(200);
                 }
             }
         }
        private void button1_Click(object sender, EventArgs e)
        {
           //โหลดจาก URL
           getListHTML(textBox1.Text);

        }
        private void button2_Click(object sender, EventArgs e)
        {
              //ให้โหลดจาก คำค้น แบบระบุหน้า ถ้ามีหน้าเดียว ก็ 1 ถึง 1 ประมาณนี้ครับgetListHTML(textBox2.Text,int.Parse(textBox3.Text),int.Parse(textBox4.Text));

        }

        private void button3_Click(object sender, EventArgs e)
        {
            //สั่งโหลดจาก  dataGridView1 ที่ slected ไว้
            new System.Threading.Thread(LoadOne2UpByID).Start();
        }
    }
}



เอา Threading ออกมาใช้เพื่อไม่ให้สะดุดเวลาทำงานครับ
ทำแบบนี้เราก็ GetLink,Filename มาลงใน dataGridView แล้วก็เลือกได้ว่าจะเอาหรือไม่เอาไฟล์ไหน
ก่อนสั่งโหลดไงละครับ

22

ตัวอย่างผมค้นหา karaoke มีซัก 5 หน้าได้ครับ

33

คลิกที่ getlink(button2_Click) แล้วก็รอจนกว่าจะนำข้อมูลเข้าใน dataGridView1 เสร็จ

44

จากนั้นก็เลือกเอาไฟล์ที่ต้องการรึไม่ก็เลือกหมดซะเลย(โลภ)
เสรจแล้วก็คลิก Load File(button3_Click)

แค่นี้ก็เป็นอันเสร็จพิธี ที่เหลือก็แค่เอาออกมาตัดเพลงซ้ำซึ่งผมเขียนไว้นานแล้ว

โค้ดสำหรับโหลดไฟล์จากเว็บ one2up แบบบ้านๆ ก็จบลงเพียงเท่านี้ครับ
จากความรู้และสมองแบบบ้านๆทำให้ได้โค้ดแบบบ้านมาใช้งานครับ







   
Share
Bookmark.   

  By : TOR_CHEMISTRY
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2016-01-14
  Download : No files
Sponsored Links
แก้ปัญหา Facebook Like หายเมื่อเปลี่ยนจาก HTTP เป็น HTTPS
แก้ปัญหา Facebook Like หายเมื่อเปลี่ยนจาก HTTP เป็น HTTPS
ในช่วงนี้หลายๆ เว็บกำลังเปลี่ยน เว็บจาก HTTP เป็น HTTPS และถ้ามีการใช้ Plugin Facebook Like / Shared คงจะเจอปัยหา Line หายกัน
Rating : Update : 2018-09-18 15:14:43
ACE Bootstrap Admin Template ฟรี Template สวยๆ เอาไปใช้งานกันได้เลยฟรีๆ
ACE Bootstrap Admin Template ฟรี Template สวยๆ เอาไปใช้งานกันได้เลยฟรีๆ
เป็น Boostrap Template ตัวหนึ่งที่ได้รับความนิยม และสามารถนำไปใช้งานได้ฟรี เคยเห็นเว็บไซต์หลายๆ ที่ในหน่วยงานราชการและเอกชนเอา Template ตัวนี้ไปใช้
Rating : Update : 2018-10-31 13:35:41
Writing Clean Code [ PHP ]
Writing Clean Code [ PHP ]
Code ที่ถูกเขียนในรูปแบบที่เป็นระเบียบ เข้าใจง่ายและการจัดรูปแบบที่ได้การยอมรับจากคนส่วนใหญ่ Code ที่เราเขียนควรจะเป็น Code ที่สามารถเข้าใจได้ สำหรับทุกๆคน เนื่องจาก Programmer มีรูปแบบการเขียนแตกต่างกันออกไป
Rating : Update : 2018-03-19 13:26:07
C# เปลี่ยนชื่อ เพลง ด้วย regext
C# เปลี่ยนชื่อ เพลง ด้วย regext
C# เปลี่ยนชื่อ เพลง ด้วย regext หลายคนมักเจอ เวลาโหลดเพลงมาแล้วมักจะมีตัวเลขข้างหน้าติดมาด้วย เรามาลบมันออกกัน
Rating : Update : 2019-05-03 12:54:52
วิธีการ Redirect จาก HTTP ไปเป็น HTTPS แบบง่ายๆ ด้วย .htaccess
วิธีการ Redirect จาก HTTP ไปเป็น HTTPS แบบง่ายๆ ด้วย .htaccess
หลังจากที่เราได้ติดตั้ง SSL และกำตั้งค่าเว็บจาก HTTP เป็น HTTPS แล้ว ขั้นตอนถัดไปคือการตั้งให้ Redirect ไปยัง URL ที่เป็น HTTPS อัตโนมัติ
Rating : Update : 2018-09-14 17:29:25
(SQLSRV) PHP SQL Server กับ Login Form ตรวจสอบ User/Password แบบง่าย ๆ ด้วย sqlsrv
(SQLSRV) PHP SQL Server กับ Login Form ตรวจสอบ User/Password แบบง่าย ๆ ด้วย sqlsrv
(SQLSRV) PHP SQL Server กับ Login Form อัพเดด Code การทำ Form Login แบบง่าย ๆ กับฐานข้อมูล SQL Server กับ ฟังก์ชั่นของ sqlsrv
Rating : Update : 2019-04-09 16:52:00
ITSM S1 คือระบบ Helpdesk Ticket Management ที่ใช้สำหรับรับแจ้งปัญหา
ITSM S1 คือระบบ Helpdesk Ticket Management ที่ใช้สำหรับรับแจ้งปัญหา
ติดตามความคืบหน้าของปัญหา ทำหน้าที่ให้ความช่วยเหลือแก่ผู้ใช้งาน ยกตัวอย่างเช่น ลูกค้า หรือ End User สามารถแจ้งปัญหาผ่านระบบ ITSM
Rating : Update : 2019-04-23 11:59:18
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


สุดยอด Source Code V2.0
 

แจ้งชำระเงิน/โอนเงิน
 

Hit Link
   







Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่