关于c# .net爬虫
剛開始聽到爬蟲這兩個(gè)字眼的時(shí)候感覺挺稀奇的,之前并沒有接觸過爬蟲,正好這會(huì)手上沒事,于是便百度了一下。
1.網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動(dòng)地抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動(dòng)索引、模擬程序或者蠕蟲。
當(dāng)然了,這個(gè)解釋很清晰,也很高尚,說到底,爬蟲就是用來獲取網(wǎng)頁信息的!
2.有點(diǎn)門路了,于是我就自己寫了一段代碼
創(chuàng)建http請求 獲取http參數(shù)
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
請求方式
req.Method = "GET";
接收的內(nèi)容 這里接收網(wǎng)頁的信息
req.Accept = "text/html";
//用戶代理
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)";
?
string html = null;
接收請求結(jié)果流
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
using (StreamReader reader = new StreamReader(res.GetResponseStream()))
{
讀完
html = reader.ReadToEnd();
}
?
3.沒錯(cuò)就是http請求,獲取到頁面的html所有代碼信息,有了這些信息,我就可以進(jìn)行下一步操作了,(我想爬一下網(wǎng)頁上的圖片,于是看了一下網(wǎng)頁代碼)
?
?4.大家發(fā)現(xiàn)什么了嗎,現(xiàn)在開始下一步操作,解析。。。。
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.恩,正則匹配我可以那到所有此站點(diǎn)的相關(guān)鏈接
6.當(dāng)然了,鏈接僅僅是圖片的,css js 網(wǎng)頁什么的都是有的,好的 再過濾一下。
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.這里我把圖片的過濾了出來同時(shí)給解析了出來,到這里 你看懂了么。
?
我們會(huì)把當(dāng)前頁面的所有相關(guān)圖片都給掃出來,這次我們就淺談到這里.....有興趣的可以加我的qq:759697338 ? 大家一起成長,一起學(xué)習(xí)
轉(zhuǎn)載于:https://www.cnblogs.com/dxqNet/p/6003008.html
總結(jié)
以上是生活随笔為你收集整理的关于c# .net爬虫的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 触发器三(行级DML触发器)(学习笔记)
- 下一篇: MD5加密详解