剛開始聽到爬蟲這兩個字眼的時候感覺挺稀奇的,之前并沒有接觸過爬蟲,正好這會手上沒事,于是便百度了一下。
1.網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
當然了,這個解釋很清晰,也很高尚,說到底,爬蟲就是用來獲取網頁信息的!
2.有點門路了,于是我就自己寫了一段代碼
創建http請求 獲取http參數
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
請求方式
req.Method = "GET";
接收的內容 這里接收網頁的信息
req.Accept = "text/html";
//用戶代理
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
?
string html = null;
接收請求結果流
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
using (StreamReader reader = new StreamReader(res.GetResponseStream()))
{
讀完
html = reader.ReadToEnd();
}
?
3.沒錯就是http請求,獲取到頁面的html所有代碼信息,有了這些信息,我就可以進行下一步操作了,(我想爬一下網頁上的圖片,于是看了一下網頁代碼)
?
?4.大家發現什么了嗎,現在開始下一步操作,解析。。。。
private static string[] GetLinks(string html)
{
const string pattern = @"https*://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection m = r.Matches(html);
string[] links = new string[m.Count];
for (int i = 0; i < m.Count; i++)
{
links[i] = m[i].ToString();
}
return links;
}
5.恩,正則匹配我可以那到所有此站點的相關鏈接
6.當然了,鏈接僅僅是圖片的,css js 網頁什么的都是有的,好的 再過濾一下。
if((url.Contains(".jpg") || url.Contains(".gif")
|| url.Contains(".png")))
{
HttpWebRequest httpHelper = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse httpResponse = (HttpWebResponse)httpHelper.GetResponse();
try
{
this.Invoke((MethodInvoker)(() =>
{
using (Stream sr = httpResponse.GetResponseStream())
{
imageBox.Image = Image.FromStream(sr);
}
}));
}
catch (Exception)
{
}
Thread.Sleep(500);
return false;
}
?7.這里我把圖片的過濾了出來同時給解析了出來,到這里 你看懂了么。
?
我們會把當前頁面的所有相關圖片都給掃出來,這次我們就淺談到這里.....有興趣的可以加我的qq:759697338 ? 大家一起成長,一起學習