Простите мое незнание на предмете
Я использую
string p="http://" + Textbox2.text;
string r= textBox3.Text;
System.Net.WebClient webclient=new
System.Net.Webclient();
webclient.DownloadFile(p,r);
загружать веб-страницу. Можно ли помочь мне с улучшением кода так, чтобы это загрузило весь веб-сайт. Испытанное использование Анализ экранных данных HTML, но это возвращает меня только href ссылки файлов index.html. Как я продолжаю двигаться вперед
Спасибо
protected string GetWebString(string url)
{
string appURL = url;
HttpWebRequest wrWebRequest = WebRequest.Create(appURL) as HttpWebRequest;
HttpWebResponse hwrWebResponse = (HttpWebResponse)wrWebRequest.GetResponse();
StreamReader srResponseReader = new StreamReader(hwrWebResponse.GetResponseStream());
string strResponseData = srResponseReader.ReadToEnd();
srResponseReader.Close();
return strResponseData;
}
Это ставит веб-страницу в строку из прилагаемого URL.
Затем вы можете использовать Regex для анализа строки.
Эта маленькая часть получает определенные ссылки из Craigslist и добавляет их в ArrayList ... изменить свою цель.
protected ArrayList GetListings(int pages)
{
ArrayList list = new ArrayList();
string page = GetWebString("http://albany.craigslist.org/bik/");
MatchCollection listingMatches = Regex.Matches(page, "(<p><a href=\")(?<LINK>/.+/.+[.]html)(\">)(?<TITLE>.*)(-</a>)");
foreach (Match m in listingMatches)
{
list.Add("http://albany.craigslist.org" + m.Groups["LINK"].Value.ToString());
}
return list;
}
Скаивание сайта на самом деле много работы, с большим количеством угловых случаев.
Создание Wget вместо этого. Руководство объясняет, как использовать параметры рекурсивного поиска «» .