2013-05-18 6 views
0

온라인 라디오 방송국에서 스트리밍되는 오래된 C# 응용 프로그램을 다시 만들려고합니다. 문제는 이전 웹 페이지가 특정 영역을 표시하기 위해 전체 웹 페이지를로드했기 때문에 필자가 필요하다고 생각되는 리소스가 더 많이 필요하다는 것입니다. 그래서, 지금은 전체 응용 프로그램을 다시 작성하고있어, 나는 웹 사이트에 다음과 같은 코드의 텍스트를 검색 할 수있는 방법을 방법을 찾고 있어요 :C# 웹 페이지의 개체에서 텍스트 가져 오기

<div id="now" style="visibility: visible; display: block;"> 
    <div class="scroll" style="margin-left: 0.000px;"> 
     <div id="title">SONG_NAME</div> 
     <div id="artist">SONG_ARTIST</div> 
    </div> 
</div> 

이 작품은 끊임없이 이름으로 페이지에 업데이트되며,이 현재 노래의 아티스트.

id = "title"은 노래의 이름이고 id = "artist"는 노래의 아티스트입니다.

10 초 정도마다 이름과 아티스트를 검색하고 싶습니다.

어떤 용도로 사용할 수 있습니까?

+0

다른 사용자가하는 것처럼 웹 사이트를 요청해야하므로 웹 사이트를 소유하지 않은 경우이 방법을 사용한다고 생각하지 않습니다. – sergioadh

답변

0

아마 전체 페이지를 다시 가져 오려고 할 것입니다. 주요 고려 사항은 다음과 같습니다

  • 당신은 uncompressed로 HTML을 요청하고 HttpWebResponse.GetResponseStream를 사용하여 스트림을 열고 당신이 (당신이가는대로 텍스트를 분석해야합니다) 필요한 블록이 끝날 때까지 읽을 수있는, 마지막으로 HttpWebResponse.Close을 호출하여 스트림을 닫고 연결을 해제하십시오.
  • 전체 응답이 압축되면 압축을 풀기 전에 모든 것을 가져 오는 것이 더 효율적일 수 있습니다.

여러분이 고칠 특정 페이지에 대해 더 효율적인 테스트가 필요합니다.

일반적인 방법은 전체 HTML 스트림을 검색 한 다음 regex를 사용하여 필요한 블록을 찾고 코드를 간단하게 유지하는 것입니다.

당신이 정말 간단한 다음은 HTML은 매우 간단 스크 레이 핑 작업을하게 비주얼 스튜디오 2012와 함께 사용하는 경우에도 NuGet에있는 HtmlAgilityPack 살펴 유지하려면

추천.

+0

대단히 감사합니다. HTMLAgilityPack을보고 싶습니다. 내가 찾고있는 것으로 보입니다. 나는 오디오를 스트리밍하기 위해 다른 사람의 컴퓨터를 끌어 내리는 것보다 덜 효율적이지만 효율적인 코딩을 선호한다. 이 응용 프로그램은 주로 프로그래머 프로필을 구축하고 C# -> HTML 통신 및 데이터 추출을 연구하는 데 주로 사용됩니다. – Hurly

관련 문제