2014-02-25 1 views
1

URL에서 텍스트를 가져 오려고하지만 텍스트가 소스 코드에 표시되지 않습니다. 나는 그것을 검사 할 때만 볼 수있다. 어쨌든, C#에서 페이지의 Inspect 요소의 내용을 가져오고 있습니까? 나는 C#으로 htmlagilitypack을 시도하지만 null 예외를 제공합니다.C를 사용하여 요소 코드 검사 방법 #

Class1 class1obj = new Class1(); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.Method = "GET"; 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
if (response.StatusCode == HttpStatusCode.OK) 
{ 
    Stream receiveStream = response.GetResponseStream(); 
    StreamReader readStream = null; 
    if (response.CharacterSet == null) 
     readStream = new StreamReader(receiveStream); 
    else 
     readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)); 
    class1obj.Data1 = readStream.ReadToEnd(); 
    Console.WriteLine(class1obj.Data1); 
    readStream.Close(); 
} 

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
doc.LoadHtml(class1obj.Data1); 
// HtmlNodeCollection tables2 =  doc.DocumentNode.SelectNodes(".//div[@class='tv_ch_detila h_scroll_detail']"); 
HtmlNode rows2 = doc.DocumentNode.SelectSingleNode(".//div[@class='sub_text']"); 
Console.WriteLine(rows2.InnerText); 
+0

URL을 공유 할 수 있습니까? –

+0

url : http://www.whatsonindia.com/#!/Tv-Listings – user3345208

+0

괜찮습니까? 어떤 요소를 선택 하시겠습니까? –

답변

0

페이지가로드 된 후 동적으로로드되는 암호화 된 데이터입니다. 상기 데이터를 가져 오는 URL은 :

http://www.whatsonindia.com/appi/user?channelgenre=all&context=applicationname%3Dsourcebits%3Bheadendid%3D0&dateselected=0&mode=getTVGuideInfo&pageno=1&responseformat=json&responselanguage=English&starthour=0&totalhrdata=24&userid=-1

은 그것은 "데이터"와 JSON 형식의 "PKI"노드가 포함되어 있습니다. 페이지가 완전히로드 될 때까지 기다리지 않고 답장 할 수는 없습니다.

대신 주어진 URL에 요청을하고 텍스트의 암호를 해독 할 수 있습니다. 이것이 제가 여기서 가정 할 수있는 유일한 방법입니다. 신뢰할 수없는 방법은 웹 브라우저 컨트롤에 URL을로드하고 모든 내용이로드 된 후 몇 초 (예 : 5-10) 동안 기다린 다음 DocumentText 또는 웹 브라우저 컨트롤을 구문 분석하는 것입니다.

나는 TV-프로그램이 JSON 데이터를 얻을 수 있었다 :

{ 
"gettvguidewithgenre": { 
    "tvguideprogrammewithgenrelist": [ 
     { 
     "programmeid": "10000000934920000", 
     "starttime": "2014-02-25T00:00:00+05:30", 
     "endtime": "2014-02-25T01:40:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Ghatak", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Action", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549824121", 
     "starttime": "2014-02-25T01:40:00+05:30", 
     "endtime": "2014-02-25T03:50:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Time Limit-36 Ghante", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Drama", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549816018", 
     "starttime": "2014-02-25T03:50:00+05:30", 
     "endtime": "2014-02-25T05:40:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Volcano High", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Action", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549673440", 
     "starttime": "2014-02-25T05:40:00+05:30", 
     "endtime": "2014-02-25T08:10:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Maa Beti", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Drama", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "10000001008740000", 
     "starttime": "2014-02-25T08:10:00+05:30", 
     "endtime": "2014-02-25T11:05:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Dus", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Action", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549644318", 
     "starttime": "2014-02-25T11:05:00+05:30", 
     "endtime": "2014-02-25T13:55:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Money Hai Toh Honey Hai", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Comedy", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549646489", 
     "starttime": "2014-02-25T13:55:00+05:30", 
     "endtime": "2014-02-25T17:15:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Farz", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Drama", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549709799", 
     "starttime": "2014-02-25T17:15:00+05:30", 
     "endtime": "2014-02-25T20:00:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Action Replayy", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Comedy", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549664553", 
     "starttime": "2014-02-25T20:00:00+05:30", 
     "endtime": "2014-02-25T23:25:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Indian", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Action", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549781987", 
     "starttime": "2014-02-25T23:25:00+05:30", 
     "endtime": "2014-02-26T00:00:00+05:30", 
     "channelid": "10000000000110000", 
     "programmename": "Narsimha - Man Of Power", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Drama", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549741259", 
     "starttime": "2014-02-25T00:00:00+05:30", 
     "endtime": "2014-02-25T02:00:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "The Dirty Picture", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Drama", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549867681", 
     "starttime": "2014-02-25T02:00:00+05:30", 
     "endtime": "2014-02-25T02:40:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "Extraa Shots Special", 
     "m2ecategoryname": "TV Show", 
     "m2esubcategoryname": "Entertainment", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549867681", 
     "starttime": "2014-02-25T02:40:00+05:30", 
     "endtime": "2014-02-25T03:00:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "Extraa Shots Special", 
     "m2ecategoryname": "TV Show", 
     "m2esubcategoryname": "Entertainment", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549867681", 
     "starttime": "2014-02-25T03:00:00+05:30", 
     "endtime": "2014-02-25T03:25:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "Extraa Shots Special", 
     "m2ecategoryname": "TV Show", 
     "m2esubcategoryname": "Entertainment", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549867681", 
     "starttime": "2014-02-25T03:25:00+05:30", 
     "endtime": "2014-02-25T03:40:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "Extraa Shots Special", 
     "m2ecategoryname": "TV Show", 
     "m2esubcategoryname": "Entertainment", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549867681", 
     "starttime": "2014-02-25T03:40:00+05:30", 
     "endtime": "2014-02-25T04:00:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "Extraa Shots Special", 
     "m2ecategoryname": "TV Show", 
     "m2esubcategoryname": "Entertainment", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549867681", 
     "starttime": "2014-02-25T04:00:00+05:30", 
     "endtime": "2014-02-25T04:25:00+05:30", 
     "channelid": "10000000000540000", 
     "programmename": "Extraa Shots Special", 
     "m2ecategoryname": "TV Show", 
     "m2esubcategoryname": "Entertainment", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "10000001078790000", 
     "starttime": "2014-02-25T18:08:00+05:30", 
     "endtime": "2014-02-25T20:30:00+05:30", 
     "channelid": "10000000000210000", 
     "programmename": "Aadmi", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Action", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549651842", 
     "starttime": "2014-02-25T20:30:00+05:30", 
     "endtime": "2014-02-25T23:16:00+05:30", 
     "channelid": "10000000000210000", 
     "programmename": "Dum", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Action", 
     "Isrecommended": "1" 
     }, 
     { 
     "programmeid": "30000000549828153", 
     "starttime": "2014-02-25T23:16:00+05:30", 
     "endtime": "2014-02-26T00:00:00+05:30", 
     "channelid": "10000000000210000", 
     "programmename": "Aakhri Baazi", 
     "m2ecategoryname": "Film", 
     "m2esubcategoryname": "Romance", 
     "Isrecommended": "1" 
     } 
    ], 
    "channelinfo": [ 
     { 
     "ChannelID": "10000000000110000", 
     "ChannelName": "STAR GOLD", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000110000.png", 
     "ischannelfavorite": "false" 
     }, 
     { 
     "ChannelID": "10000000000540000", 
     "ChannelName": "MAX", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000540000.png", 
     "ischannelfavorite": "false" 
     }, 
     { 
     "ChannelID": "10000000000620000", 
     "ChannelName": "TEN SPORTS", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000620000.png", 
     "ischannelfavorite": "false" 
     }, 
     { 
     "ChannelID": "10000000000700000", 
     "ChannelName": "HBO", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000700000.png", 
     "ischannelfavorite": "false" 
     }, 
     { 
     "ChannelID": "10000000000100000", 
     "ChannelName": "STAR MOVIES", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000100000.png", 
     "ischannelfavorite": "false" 
     }, 
     { 
     "ChannelID": "10000000000080000", 
     "ChannelName": "STAR PLUS", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000080000.png", 
     "ischannelfavorite": "false" 
     }, 
     { 
     "ChannelID": "10000000000210000", 
     "ChannelName": "ZEE CINEMA", 
     "LCN": "0", 
     "Operator_Id": "2645", 
     "logofileurl": "http://images.whatsonindia.com/WhatsOnTv/Images/applicationchannellogo/10000000000210000.png", 
     "ischannelfavorite": "false" 
     } 
    ] 
    } 
} 

그것은 암호화 및 암호 해독 CryptoJS를 사용합니다.

+0

이 링크를 얻는 방법으로 요소 검사 코드를 구문 분석하는 방법을 알려주십시오. 이걸 설명 할 수 있니? Chrome 콘솔에서 – user3345208

+0

콘텐츠를로드하고 아약스가 콘텐츠를 동적으로 추가하기를 기다리는 것 외에는 다른 방법을 찾을 수 없습니다. 이 문제를 빨리 해결할 때마다 내 대답이 업데이트 될 것입니다. –

+0

이 json 코드를 어떻게 작성했는지 알려주십시오. 사용중인 코드를 알려주십시오. – user3345208

관련 문제