> 백엔드 개발 > C#.Net 튜토리얼 > C# 기반 Baidu 이미지 일괄 다운로드 도구

C# 기반 Baidu 이미지 일괄 다운로드 도구

大家讲道理
풀어 주다: 2016-11-10 09:51:59
원래의
2350명이 탐색했습니다.

System.Collections.Generic 사용,
System.Data 사용,
System.IO 사용; >System.Net 사용;
System.Threading 사용;
System.Threading.Tasks 사용; {
사용; Control.CheckForIllegalCrossThreadCalls = false; 메서드는 권장되지 않습니다. 즉, 크로스 스레드 작업이 확인되지 않으므로 위임된 
        InitializeComponent();                          private void butSelect_Click(object sender , EventArgs e) {
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { textDir.Text = dlg .SelectedPath

}
}
public static int pagecount = 1; .textShow.AppendText("현재 다운로드 중인 페이지" + 페이지 수 + "페이지")
                                                                                                                    )) {// 키워드 감지
MessageBox.Show("키워드를 입력하세요! ");
return;
}
if (string.IsNullOrEmpty(textDir.Text)) {//경로 감지
MessageBox.Show ("경로를 선택하세요!");

                                                                                              > >                           
private void 프로세스(문자열 키) {
int count = (int)numericUpDown.Value;//개수 요청된 페이지
for (int i = 0; i pagecount = i + 1
Showpages();                HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://image.baidu.com/search/avatarjson?tn=resultjsonavatarnew&ie=utf-8&word=" + Uri.EscapeUriString(key) + "&cg=girl&pn=" + ( i + 1) * 60 + "&rn=60&itg=0&z=0&fr=&width=&height=&lm=-1&ic=0&s=0&st=-1&gsm=360600003c");  
               (HttpWebResponse res = (HttpWebResponse)req.GetResponse()) {  
                 if (res.StatusCode == HttpStatusCode.OK) {  
                      사용 (스트림 스트림 = res.GetResponseStream()) {  
                          시도 {  
                            다운로드(스트림);  
                         } catch(예외 e) {  
                           textShow.BeginInvoke(new Action(() =>  
                                 textShow.AppendText(e.Message + Environment.NewLine);  
                          }));  
                         }  
                    }  
                } else {                       MessageBox.Show("获取第" + i + "页失败!" + res.StatusCode);  
                   }  
               }  
           }  
        }  
   
        비공개 무효 다운로드(스트림 스트림) { 
            (StreamReader reader = new StreamReader(stream)) {  
                문자열 json 사용 = reader.ReadToEnd();  
                JObject objRoot = (JObject)JsonConvert.DeserializeObject(json);  
                JArray imgs = (JArray)objRoot["imgs"];  
               for (int j = 0 ; j                    JObject img = (JObject)imgs[j];                     string objUrl = (string)img["objURL"];//http://hibiadu....../1.jpg  
                   // textShow.AppendText(objUrl + Environment.NewLine);  
                   //保存的路径是:destDir;  
                   시도해 보세요 {  
DownloadImage(objUrl);//너무 복잡한 메서드의 코드는 피하세요.
                                                                               ~ > >             DownloadImage(string objUrl) {
                                                             ~              만들기 (objUrl) ;
req.Referer = "http://image.baidu.com/";//Baidu Pictures에서 보낸 웹사이트 서버를 속입니다.
(HttpWebResponse res = (HttpWebResponse)req. GetResponse()) {
if (res.StatusCode == HttpStatusCode.OK) {
using (Stream stream = res.GetResponseStream())
using (Stream filestream = new FileStream(path, FileMode.Create) )) {
                   stream.CopyTo(filestream);                                               새 예외("다운로드 실패" + res.StatusCode); 🎜>                                        > }
}

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿