C# 简单图片爬虫 快来斗图把
生活随笔
收集整理的這篇文章主要介紹了
C# 简单图片爬虫 快来斗图把
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
爬取后的圖片默認在bin/debug/File下面
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks;namespace Crawler {class Program{static void Main(string[] args){//抓取網頁資源 翻頁url格式為https://fabiaoqing.com/biaoqing/lists/page/{i}.html 默認抓取200頁for (int i = 1; i <= 200; i++){string str = GetHtmlStr($"https://fabiaoqing.com/biaoqing/lists/page/{i}.html", "UTF8");//匹配圖片的正則表達式 string regstr = "http://wx[1-4].sinaimg.cn/bmiddle/.+?.[jg][pi][fg]";foreach (Match match in Regex.Matches(str, regstr))//使用正則表達式解析網頁文本,獲得圖片地址 {//下載圖片SaveAsWebImg(match.Value);}}Console.ReadKey();}/// <summary> /// 獲取網頁的HTML碼 /// </summary> /// <param name="url">鏈接地址</param> /// <param name="encoding">編碼類型</param> /// <returns></returns> public static string GetHtmlStr(string url, string encoding){string htmlStr = "";if (!String.IsNullOrEmpty(url)){WebRequest request = WebRequest.Create(url); //實例化WebRequest對象 WebResponse response = request.GetResponse(); //創建WebResponse對象 Stream datastream = response.GetResponseStream(); //創建流對象 Encoding ec = Encoding.Default;if (encoding == "UTF8"){ec = Encoding.UTF8;}else if (encoding == "Default"){ec = Encoding.Default;}StreamReader reader = new StreamReader(datastream, ec);htmlStr = reader.ReadToEnd(); //讀取數據 reader.Close();datastream.Close();response.Close();}return htmlStr;}/// <summary> /// 下載網站圖片 /// </summary> /// <param name="picUrl"></param> /// <returns></returns> public static string SaveAsWebImg(string picUrl){string result = "";string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + @"/File/"; //目錄 //不存在目錄則創建if (!Directory.Exists(path)){Directory.CreateDirectory(path);DirectoryInfo dirInfo = new DirectoryInfo(path);dirInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;}try{if (!String.IsNullOrEmpty(picUrl)){Random rd = new Random();DateTime nowTime = DateTime.Now;string fileName = nowTime.Month.ToString() + nowTime.Day.ToString() + nowTime.Hour.ToString() + nowTime.Minute.ToString() + nowTime.Second.ToString() + rd.Next(1000, 1000000) + ".jpeg";WebClient webClient = new WebClient();webClient.DownloadFile(picUrl, path + fileName);result = fileName;}}catch { }return result;}} }總結
以上是生活随笔為你收集整理的C# 简单图片爬虫 快来斗图把的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存颗粒位宽和容量_SDRAM内存模组的
- 下一篇: C# Halcon 图像放大缩小代码