소위 데이터 수집 프로그램도 웹 도둑 프로그램입니다.(꾸짖지 마십시오.) 다 쓴 후에 여기에 뭔가를 게시할 것입니다
. 데이터를 다운로드하려면 일부 웹사이트에서는 로그인이 필요합니다. 해당 데이터를 얻으려면 로그인 사용자 이름과 비밀번호를 보내야 하는데 로그인했지만 그의 서버는 쓰레기가 아니어서 리디렉션되었습니다. 그리고 총 2개의 SESSION이 생성되었습니다. 이 두 번째 SESSION에서는 어떻게 캡처해야 할지 모르겠습니다. 그래서 추측하고^-^ 소프트웨어를 사용하여 Ethereal이라는 소프트웨어를 만들고 다음 코드를 추가했습니다. HTTP 요청의 헤더입니다.
WebClient myWebClient = 새로운 WebClient();
문자열 sessionkey=textBox78.Text;
문자열 Refererurl=textBox77.Text;
myWebClient.Headers.Clear();
myWebClient.Headers.Add("쿠키",sessionkey);
myWebClient.Headers.Add("Referer",refererurl);
myWebClient.Headers.Add("User-agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3");
이건 서버를 속이는 겁니다 ㅎㅎ
2. 두 번째 부분은 코드를 다운로드하는 것입니다.
byte[] myDataBuffer = myWebClient.DownloadData(remoteUri);
download = Encoding.Default.GetString(myDataBuffer);
3. 세 번째 부분은 데이터 일치입니다. 스트림을 데이터로 읽어온 다음 IndexOf를 사용하여 두 키 필드의 위치를 가져온 다음 Substring을 사용하여 가져옵니다. out.out., 이것이 어리석은 일이라는 것은 알지만 정규식을 사용하는 것은 어렵습니다(누가 나에게 조언을 해줄 수 있습니까). 문자열을 일치시킨 후 다음 함수를 사용하여 HTML 코드를 제거했습니다.
개인 문자열 StripHTML(string strHtml)
{
문자열 [] aryReg ={
@"<script[^>]*?>.*?</script>",
@"<(/s*)?!?((w+:)?w+)(w+(s*=?s*(([""'])( \[""' tbnr]|[^7])*?7|w+)|.{0})|s)*?(/s *)?>",
@"([rn])[s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(센트|#162);",
@"&(파운드|#163);",
@"&(복사|#169);",
@"&#(d+);",
@"-->",
@"<!--.*n"
};
문자열 [] aryRep = {
"",
"",
"",
""",
"&",
"<",
">",
" ",
"xa1",//chr(161),
"xa2",//chr(162),
"xa3",//chr(163),
"xa9",//chr(169),
"",
"rn",
""
};
문자열 newReg =aryReg[0];
문자열 strOutput=strHtml;
for(int i = 0;i<aryReg.Length;i++)
{
정규식 regex = new Regex(aryReg[i],RegexOptions.IgnoreCase);
strOutput = regex.Replace(strOutput,aryRep[i]);
}
strOutput.Replace("<","");
strOutput.Replace(">","");
strOutput.Replace("rn","");
strOutput을 반환합니다.
}
4. 다음 단계는 데이터베이스에 저장하는 것입니다. 모두가 알고 있지만 여전히 문제가 있습니다. 데이터를 쓸 때 내 필드가 너무 길어 데이터베이스에 쓸 수 없다는 메시지가 나타납니다. 저는 ACCESS를 사용하고 있는데 SQL을 사용해 보겠습니다.
5. 좋은 제안이 있으면 댓글로 남겨주세요.
출처: http://jetadv.cnblogs.com/archive/2006/02/ 18 /333213.html