当前位置:   article > 正文

用c# 实现一个爬虫_c# 爬虫

c# 爬虫

什么是爬虫?

  • 爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,简单来说就是模拟浏览器发送http 请求,然后获取数据

实战

  • 目标网站:https://www.baidu.com/
  • 第一步 分析
  • 打开浏览器的开发者工具,快捷键f12
  • 然后在浏览器输入https://www.baidu.com/ 回车,我们可以看到
  • 在这里插入图片描述
  • 我们选择响应就可以看到浏览器给我们返回数据了,点一下原始我们就可以到html
  • 我们可以打开请求 找到请求头
Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding
	gzip, deflate, br
Accept-Language
	zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Connection
	keep-alive
Cookie
	BAIDUID=9832FF7A5F42D797C0E5BC0E831FDB0D:FG=1; BIDUPSID=7FBB3CAF6CCE501130E43B0144749C48; PSTM=1635568912; BD_UPN=133352; __yjs_duid=1_4c291d5daa44deb2b2ce899e2304c7581635573377095; BDUSS=JBT1pNdW94MGhHZG1sd1lQU3hNWFNNdk0wRjhlU1JqU3pWUGliQ1BKR1NjN0ZoRVFBQUFBJCQAAAAAAAAAAAEAAAAQ9LKwMTU2MTk5Njg1MDd5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJLmiWGS5olhYT; H_PS_PSSID=35358_34448_35104_31660_35239_34584_34504_34578_35392_35321_26350_35210_35301; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; …KKJx2PPWeIJo5t5xhh8bhUJiBbFHBan7VlbIXKohJh7FM4tW3J0ZyxomtfQxtNRJ0DnjtnLhbC_wj5K2D6b0epJf-K6E2I5jBRu8Kb7Vbpbv5fnkbfJBDl5G2f7EJebxBPoxbx5jJCONyT_-KP47yajK2-nlbKuDKxTTtJFWoq7jjDcpQT8r0UDOK5OibCrzWMT1ab3vOPI4XpO1ef0zBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksDMDtqtJHKbDf_CDa3e; __sec_t_key=202d5340-4a13-4c34-b5e8-ad386b2e46db; delPer=0; BD_CK_SAM=1; PSINO=6; BA_HECTOR=0l8h0gag8h058ha0k31gqov1j0r; COOKIE_SESSION=2378_6_1_1_10_1_1_0_1_1_0_0_2379_0_2_3_1638693940_1638690929_1638693938%7C9%231337_27_1638690926%7C9; BDSVRTM=0
Host
	www.baidu.com
Sec-Fetch-Dest
	document
Sec-Fetch-Mode
	navigate
Sec-Fetch-Site
	none
Sec-Fetch-User
	?1
Upgrade-Insecure-Requests
	1
User-Agent
	Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 我们只要取出user-agent 表示我们请求的浏览器的版本,操作系统的一些信息
  • 接下来我们编写代码先获取这一堆html
using System.IO;
using System.Text;
using System.Net;
public class Reptile
{
    public string url{get;set;}    

    public string html{get;set;}
    public Reptile(string _url)
    {
        url=_url;
        
    }
    public void DoRequest(){
        
        HttpWebRequest request=(HttpWebRequest)HttpWebRequest.Create(url);
      //设置请求方法
        request.Method="GET";
       //设置请求头
        request.UserAgent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0";
        //获取resonse
        WebResponse response= request.GetResponse();
        //获取结果转化为string
        using(Stream stream=response.GetResponseStream()){
            using(StreamReader reader=new StreamReader(stream,Encoding.UTF8)){
                   this.html=reader.ReadToEnd();
            }
        }
        System.Console.WriteLine(html);
    }
}

-------------------------
static  void Main(string[] args)
        {
            Reptile robj=new Reptile("https://www.baidu.com/");
            robj.DoRequest();
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 如果你看到控制台输出了一堆html js css 那就表示成功了!

  • 下一篇文章我们将说说如何解析这一堆标签 ,如何下载网络图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/646495
推荐阅读
相关标签
  

闽ICP备14008679号