ПредишенСледващото

Ние продължаваме превод на статията на разбор или вземете сайтове с C #.

WebClient клас е в името на пространството SyStem.Net, той осъзнава възможността за получаване на данни от интернет. С него можете да получите изходния код на HTML страници в една линия или във файл.
Пример: Вземете най-изходния код на страницата google.com

  1. Добавете бутон към формата и RichTextBox
  2. Кликнете върху бутона два пъти с мишката. По този начин добавянето на едно натискане на бутон събитие
  3. Като прибавим към това събитие следния код:

DownLoadString използва метод, който връща данни като низ, и добавете този ред в richtextbox. Резултатът от операцията е както следва:

Синтактичен анализ сайтове в C #

След това можете да използвате регулярни изрази (RegEx) към получената линия, за да се получи необходимата информация (например за да можете да получите бързо, че се измъкна задържане на снимки, електронна поща, връзки и т.н.

Пример: Grubb снимки
След получаване на кода на страницата в предишния пример, и е установено, например, всички позовавания на изображението (как да го направя аз ще опиша по-късно) можем да спасим всички снимки на вашия компютър по следния начин:

Пример: Блокиране режим WebClient

  1. Добавете следния код в събитието натискане на бутон:
  2. След като изпълните проекта и кликнете върху бутона, опитайте се да се премести във формуляра, или да кликнете върху повече формени елементи. Той няма да отговори на вашите действия. Форма заключени, извършващи данни четат операция от каза търсене в сайта
  3. Защо се случва това? Работата е там, че натоварването на линии, файл или други данни от интернет може да отнеме много време (в зависимост от скоростта на връзката, натоварването на сървъра и т.н.), а класът WebClient, в нашия пример, работи в потока, който е отговорен за рисуване потребителски интерфейс (UI). Това води до замразяване на формата.
  4. Това означава, че потокът няма да продължи да обработва другите, следващите команди в програмата ни, докато не получи цялата исканите данни от интернет. Това се нарича режим на блокиране. Way - е да се използва без блокиране на режим (асинхронни

Пример: неблокираща режим WebClient

  1. Използвайте процедура DownloadStringAsync () - която започва данни за изтегляне от Интернет (в този случай като ред) в отделна нишка. Това означава, че нашата кандидатура ще бъде изпълнена, докато данните се изтеглят в паралел
  2. В горния код ще изтегли данните като низ, без да блокира молбата. Но ние не знаем кога данните ще бъдат напълно зареден. За това е необходимо да се определи цялото събитие натоварване, така че приложението може да ни кажете за края на операцията. В този случай, трябва да добавим обработка DownloadStringCompleted събития.
  3. Следният код ще започне да изнася данни от интернет под формата на линии в режим без блокиране и в края на изтегляне причина DownloadStringCompleted случай на уведомление по този начин.
  4. Заредени низ се предава като аргумент за събитие DownloadStringAsync, и можем да продължим да я обработва по следния начин

Пример: качване на файлове на хостинга

Разбор сайтове в C #. Част 2: Използване на WebClient

Свързани статии

Подкрепете проекта - споделете линка, благодаря!