Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Cách lọc và lấy dữ liệu từ 1 đoạn html????

  1. #1
    Ngày gia nhập
    06 2009
    Bài viết
    38

    Mặc định Cách lọc và lấy dữ liệu từ 1 đoạn html????

    Chào các pác !
    Mình có 1 rắc rối về cái regular expression
    Mình có đoạn html sao
    <div id="news-id-1146437457" style="display:inline;">
    <div align="center"><img src="http://www.israbox.com/uploads/posts/2013-01/1357902645_cover.jpg" alt="Paul Hardcastle - 19 Below Zero (2012)" title="Paul Hardcastle - 19 Below Zero (2012)" /></div><br />
    <b>Artist</b>: Paul Hardcastle<br />
    <b>Title Of Album</b>: 19 Below Zero<br />
    <b>Year Of Release</b>: 2012-10-15<br />
    <b>Label</b>: Fontana Distribution<br />
    <b>Genre</b>: Downtempo, Chillout, Smooth Jazz<br />
    <b>Quality</b>: 320 / FLAC<br />
    <b>Total Time</b>: 130:20 min<br />
    <b>Total Size</b>: 282 / 873 MB<br /><br />
    Tracklist:<br /><br />
    CD1<br /><br />
    1. Return Of The Rainman<br />
    2. 1000 Miles From Nowhere (vocals Beci Biggins)<br />
    3. East to West - Ibiza Remix<br />
    4. Summer Love - Chill Mix (vocals Maxine Hardcastle)<br />
    5. Solar Sky - Ibiza Remix<br />
    6. Emerald Stardust (vocals Helen Rogers)<br />
    7. Rainforest & What's Going On - Chill Mix (vocals Marvin Gaye)<br />
    8. Ibiza Dub<br />
    9. Don't You Know (vocals Beci Biggins)<br />
    10. Look To The Future (spoken vocals Maxine Hardcastle)<br />
    12. 19 - Rob Da Bank Remix<br />
    13. Return Of The Rainman Reprise<br /><br />
    CD2<br /><br />
    1. Into The Blue - Remix (vocals Margo LeDuc)<br />
    2. Absolute Zero<br />
    3. Neon Adventure - Chill Remix<br />
    4. Ventura Highway (vocals Helen Rogers)<br />
    5. Zen Warrior<br />
    6. Rainforest & What's Going On - Beach Chiller Mix (vocals Marvin Gaye)<br />
    7. King Tut - Remaster Mix<br />
    8. Cloud Watching<br />
    9. Journey To Tranquillity<br />
    10. One Chance (vocals Beci Biggins)<br />
    11. Rainforest Original - Remaster Remix<br />
    12. 19 Below Zero - The Lost Tape Mix<br /><br />
    <!--QuoteBegin--><div class="quote"><!--QuoteEBegin-->Paul Hardcastle's name will most likely always be tied to his 1985 hit single '19', a now classic dance track about America's involvement in the Vietnam war. But there's more to Paul than just synth pop: the UK producer has been composing music for television shows since the 80s, took home Billboard's Smooth Jazz Award in 2008, and is an accomplished downtempo/chill-out musician too.<br /><br />Paul's latest album, '19 Below Zero', is a two-disc spanning mix of 'ethereal beats, hypnotic rhythms and sensuous soundscapes of warm electronic artistry', or downtempo in plain English. Now, there's basically two kinds of downtempo music: the cheesy kind that provides men in their forties with a false sense of over-styled, superficial hipness, and the carefully crafted atmospheric kind that shows you actually do know your way around stylish music. This album falls into the latter category: composed of dreamy vocals, silky strings, warm bass soaked with reverb and slow-moving jazz rhythms, '19 Below Zero' has become a very organic, adventurous and credible selection of tracks to chill to. The first disc moves from beat-less tunes to jazzier material and while nearly every inclusion is very much worth listening to, it's the beat-less tunes that make the biggest impression here. '1000 Miles From Nowhere', the incredible 'Rainforest & What's Going On (Chill Mix)' mash-up and the lush Ibiza track 'Don't You Know' all are pure and intense Chillout tracks marked by meticulous production techniques and perfect examples of Paul's signature songwriting. The second disc follows a more or less similar approach, although things seem to be a wee bit darker and more sparkling here. After a handful of energetic tracks (including the massive progressive-driven 'Absolute Zero', seriously, be sure to check this one out ASAP!), the album continues to serve up a variety of genres. There's some pure 80s electro ('King Tut - Remaster Mix' ), 80s bedroom sway ('Cloud Watching') and ultra smooth chill-out ('Ventura Highway' and 'One Chance') and again we can't say anything else than that we're very impressed with what we hear.<br /><br />Our verdict<br />'19 Below Zero' is a rich collage of various facets in downtempo music set against a very balanced atmospheric background. The overall production is among the best we ever heard in the genre and playing this one on a proper sound system is an almost orgasmic experience. Add to that the great songwriting and overall high quality production and you've got one of the best downtempo albums to have appeared this year.<!--QuoteEnd--></div><!--QuoteEEnd--><br /><br />

    <!--QuoteBegin--><div class="quote"><!--QuoteEBegin--><div align="center"><!--colorstart:#FF9900--><span style="color:#FF9900"><!--/colorstart--><!--fontstart:Georgia--><span style="font-family:Georgia"><!--/fontstart--><b>download links:</b><!--fontend--></span><!--/fontend--><!--colorend--></span><!--/colorend--><br /><a href="http://ul.to/f/lzthym" target="_blank"><!--fontstart:Century Gothic--><span style="font-family:Century Gothic"><!--/fontstart--><!--colorstart:#666666--><span style="color:#666666"><!--/colorstart--><b>uploaded</b><!--colorend--></span><!--/colorend--><!--fontend--></span><!--/fontend--></a> | <a href="http://turbobit.net/download/folder/1384125" target="_blank"><!--fontstart:Century Gothic--><span style="font-family:Century Gothic"><!--/fontstart--><!--colorstart:#666666--><span style="color:#666666"><!--/colorstart--><b>turbobit</b><!--colorend--></span><!--/colorend--><!--fontend--></span><!--/fontend--></a></div><!--QuoteEnd--></div><!--QuoteEEnd-->
    </div>
    <div class="clearfix"></div>
    mình ko bít câu regular expression như thế nào để có thế xuất ra dc định dạng như sau:

    Year Of Release: 2012-10-15 | Artist: Paul Hardcastle | Label: Fontana Distribution | Quality: 320 / FLAC | Total Time: 130:20 min | Total Size: 282 / 873 MB
    Genre: Downtempo, Chillout, Smooth Jazz

    Tracklist:

    CD1

    1. Return Of The Rainman
    2. 1000 Miles From Nowhere (vocals Beci Biggins)
    3. East to West - Ibiza Remix
    4. Summer Love - Chill Mix (vocals Maxine Hardcastle)
    5. Solar Sky - Ibiza Remix
    6. Emerald Stardust (vocals Helen Rogers)
    7. Rainforest & What's Going On - Chill Mix (vocals Marvin Gaye)
    8. Ibiza Dub
    9. Don't You Know (vocals Beci Biggins)
    10. Look To The Future (spoken vocals Maxine Hardcastle)
    12. 19 - Rob Da Bank Remix
    13. Return Of The Rainman Reprise

    CD2

    1. Into The Blue - Remix (vocals Margo LeDuc)
    2. Absolute Zero
    3. Neon Adventure - Chill Remix
    4. Ventura Highway (vocals Helen Rogers)
    5. Zen Warrior
    6. Rainforest & What's Going On - Beach Chiller Mix (vocals Marvin Gaye)
    7. King Tut - Remaster Mix
    8. Cloud Watching
    9. Journey To Tranquillity
    10. One Chance (vocals Beci Biggins)
    11. Rainforest Original - Remaster Remix
    12. 19 Below Zero - The Lost Tape Mix
    Đề tài sắp nộp mà chưa tới đâu hết
    Mong các pác giúp mình với :(( :((
    cảm ơn các rất nhiều
    thân

  2. #2
    Ngày gia nhập
    12 2009
    Nơi ở
    bế quan tu lại
    Bài viết
    846

    Ref Code:
    1. http://www.dotnetperls.com/remove-html-tags

  3. #3
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Có thể hơi lạc đề, nhưng mình nghĩ sao cứ phải đè cái web source code ra mà lọc nhở ? Sao không 'thông dịch' web source code, sau đó copy only plain text, rồi xử lý (dù sao mình nghĩ cũng đỡ khổ hơn ).

    Cách 'copy only plain text' :

    After looking around for months at various ways to get only the text displayed on a web browser using C#, it all boiled down to only a few simple lines of code. I looked at several very robust solutions such as the HTML Agility Pack and Majestic 12 open source .NET solutions. However, for applications which only require getting tag free / html free text from a web page, these solutions seem to be overkill, at least in my case.


    Here are three very simplistic ways to get only the displayed text on a web page:
    Method 1 – In Memory Cut and Paste

    Use WebBrowser control object to process the web page, and then copy the text from the control…


    Use the following code to download the web page:

    Visual C# Code:
    1.   //Create the WebBrowser control
    2.  WebBrowser wb = new WebBrowser();
    3.  //Add a new event to process document when download is completed  
    4.  wb.DocumentCompleted +=
    5.      new WebBrowserDocumentCompletedEventHandler(DisplayText);
    6.  //Download the webpage
    7.  wb.Url = urlPath;

    Use the following event code to process the downloaded web page text:

    Visual C# Code:
    1. private void DisplayText(object sender, WebBrowserDocumentCompletedEventArgs e)
    2.  {
    3.  WebBrowser wb = (WebBrowser)sender;
    4.  wb.Document.ExecCommand(“SelectAll”, false, null);
    5.  wb.Document.ExecCommand(“Copy”, false, null);
    6.  textResultsBox.Text = CleanText(Clipboard.GetText());
    7.  }


    Method 2 – In Memory Selection Object

    This is a second method of processing the downloaded web page text. It seems to take just a bit longer (very minimal difference). However, it avoids using the clipboard and the limitations associated with that.


    Visual C# Code:
    1. private void DisplayText(object sender, WebBrowserDocumentCompletedEventArgs e)
    2.  {   //Create the WebBrowser control and IHTMLDocument2
    3.  WebBrowser wb = (WebBrowser)sender;
    4.  IHTMLDocument2 htmlDocument =
    5.  wb.Document.DomDocument as IHTMLDocument2;
    6.  //Select all the text on the page and create a selection object
    7.  wb.Document.ExecCommand(“SelectAll”, false, null);
    8.  IHTMLSelectionObject currentSelection = htmlDocument.selection;
    9.  //Create a text range and send the range’s text to your text box
    10.  IHTMLTxtRange range = currentSelection.createRange() as IHTMLTxtRange
    11.  textResultsBox.Text = range.text;
    12.  }

    Method 3 – The Elegant, Simple, Slower XmlDocument Approach

    A good friend shared this example with me. I am a huge fan of simple, and this example wins the simplicity contest hands down. It was unfortunately very slow compared to the other two approaches.


    Visual C# Code:
    1. The XmlDocument object will load / process html files with only 3 simple lines of code:
    2.  XmlDocument document = new XmlDocument();
    3.  document.Load(“www.yourwebsite.com);
    4.  string allText = document.InnerText;

    There you have it! Three simple ways to scrape only displayed text from web pages with no external “packages” involved.
    ref :
    Code:
    http://jakemdrew.wordpress.com/2012/02/03/getting-only-the-text-displayed-on-a-webpage-using-c/

  4. #4
    Ngày gia nhập
    06 2009
    Bài viết
    38

    cảm ơn các reply của các pác!
    Thật ra mình dùng cái htmlagilitypack để lấy dữ liệu từ web
    cái đoạn code trên của mình chỉ cần .InnerText là ra là dc têxt
    do mình để các tag html là để có các tag html và có thể lấy dữ liệu mà mình muốn và xuất ra định dạng theo mẫu trên
    mình nghĩ chắc chỉ có thể dùng regular expression để lấy dữ liệu
    nhưng mình ko làm dc câu regular expression
    nếu pác nào có cao kiến khác ngoài regular expression có thể hướng dẫn tí cho mình với
    thanks

  5. #5
    Ngày gia nhập
    04 2009
    Nơi ở
    Gầm cầu
    Bài viết
    2,230

    regular expression là hợp lí rồi bạn

  6. #6
    Ngày gia nhập
    06 2009
    Bài viết
    38

    Mặc định Cách lọc và lấy dữ liệu từ 1 đoạn html????

    Trích dẫn Nguyên bản được gửi bởi zstar Xem bài viết
    regular expression là hợp lí rồi bạn
    nế`u ý tưởng của mình là khả thnha6`1t thì câu regular expression như thề nào đây
    ngh3i4 hoài k ra
    pác bít giúp mình với

  7. #7
    Ngày gia nhập
    05 2011
    Bài viết
    299

    Trích dẫn Nguyên bản được gửi bởi aydada Xem bài viết
    Ref Code:
    1. http://www.dotnetperls.com/remove-html-tags
    xem qua cái link này chưa
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  8. #8
    Ngày gia nhập
    06 2009
    Bài viết
    38

    Trích dẫn Nguyên bản được gửi bởi rossoneri Xem bài viết
    xem qua cái link này chưa
    ròi pác
    thì mình như mình nói
    mình dùng htmlagilitypack nên chỉ cần .Innertext là remove dc hết các tag html

  9. #9
    Ngày gia nhập
    05 2011
    Bài viết
    299

    Trích dẫn Nguyên bản được gửi bởi sergio090588 Xem bài viết
    nế`u ý tưởng của mình là khả thnha6`1t thì câu regular expression như thề nào đây
    ngh3i4 hoài k ra
    pác bít giúp mình với
    thế sao còn thắc mắc regular expression?
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  10. #10
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nôi
    Bài viết
    464

    Trích dẫn Nguyên bản được gửi bởi sergio090588 Xem bài viết
    ròi pác
    thì mình như mình nói
    mình dùng htmlagilitypack nên chỉ cần .Innertext là remove dc hết các tag html
    Nếu bạn cần trích rút thông tin từ đoạn html trên thì hoặc dùng regex, hoặc dùng các thư viện information extraction ấy : có thể find tag ( <a><b>,...) trích các thông tin, thuộc tính trong tag. ( C# mình ko biết có sẵn ko nhưng mà tìm thư viện thì chắc có)
    Còn dùng regex thì cũng đơn giản ( nếu data của bạn có dạng như trên)
    VD dùng php
    PHP Code:
    <?php
    $filename
    ='data.txt';
    $data=file_get_contents($filename);
    // <b>Year Of Release</b>: 2012-10-15<br />
    if (preg_match("/Year Of Release[^\d]*([\d-]+)/",$data,$match))
        echo 
    "Year Of Release : ".$match[1];
        
    //<b>Artist</b>: Paul Hardcastle<br />
    if (preg_match("/Artist[^:]+:([^<]+)/",$data,$match))
        echo 
    "</br>Artist:".$match[1];
        
    ?>

    Còn nếu mà bạn chỉ cần đưa thông tin ra như dạng bạn viết thì chỉ tách bỏ mấy cái thông tin thừa ( ảnh đầu, đoạn văn cuối) rồi print ( echo) đoạn html kia ra thôi, có luôn đinh dạng, xuống dòng,....

Các đề tài tương tự

  1. Trả lời: 2
    Bài viết cuối: 18-04-2012, 04:04 PM
  2. Lập trình C++ Đọc một tập tin html thì mã nhị phân nào cho biết kích thước file html?
    Gửi bởi higushima trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 26-03-2012, 11:21 AM
  3. Xin bài tập HTML và CSS!
    Gửi bởi congdonggiupnhau trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 0
    Bài viết cuối: 16-09-2011, 02:17 AM
  4. Tạo RSS chứa HTML?
    Gửi bởi thusinh86 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 30-05-2011, 06:50 PM
  5. Chuyển Từ trang HTML sang Cây HTML DOM như thế nào??
    Gửi bởi khuyen87nt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 08-04-2011, 02:32 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn