什么是爬虫?

  • 爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,简单来说就是模拟浏览器发送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-Encodinggzip, deflate, br
Accept-Languagezh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Connectionkeep-alive
CookieBAIDUID=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
Hostwww.baidu.com
Sec-Fetch-Destdocument
Sec-Fetch-Modenavigate
Sec-Fetch-Sitenone
Sec-Fetch-User?1
Upgrade-Insecure-Requests1
User-AgentMozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0
  • 我们只要取出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";//获取resonseWebResponse response= request.GetResponse();//获取结果转化为stringusing(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();}
  • 如果你看到控制台输出了一堆html js css 那就表示成功了!

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

用c# 实现一个爬虫相关推荐

  1. python scrapy 入门,10分钟完成一个爬虫

    在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...

  2. Python爬虫,利用scrapy来编写一个爬虫

    本文将介绍我是如何在python爬虫里面一步一步踩坑,然后慢慢走出来的,期间碰到的所有问题我都会详细说明,让大家以后碰到这些问题时能够快速确定问题的来源,后面的代码只是贴出了核心代码,更详细的代码暂时 ...

  3. 一个爬虫的故事:这是人干的事儿?

    爬虫原理 我是一个爬虫,每天穿行于互联网之上,爬取我需要的一切. 说起来还要感谢HTTP协议,因为它,全世界的网站和浏览器才能够连接通信,而我也是借助HTTP协议,获取我想要的数据. 我只需要伪装成一 ...

  4. 一个爬虫的故事:爬虫兄弟要活不下去了!!!

    来源 | 编程技术宇宙 封图 | CSDN 付费下载自视觉中国 爬虫原理 我是一个爬虫,每天穿行于互联网之上,爬取我需要的一切. 说起来还要感谢HTTP协议,因为它,全世界的网站和浏览器才能够连接通信 ...

  5. 利用scrapy和MongoDB来开发一个爬虫

    利用scrapy和MongoDB来开发一个爬虫 今天我们利用scrapy框架来抓取Stack Overflow里面最新的问题(),并且将这些问题保存到MongoDb当中,直接提供给客户进行查询. 安装 ...

  6. python可抓取数据包括什么_Python对JS型数据抓取有什么特别好的方法吗,pythonjs型抓取,想写一个爬虫,但是需要抓...

    Python对JS型数据抓取有什么特别好的方法吗,pythonjs型抓取,想写一个爬虫,但是需要抓 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓到呢? 最好是用pyt ...

  7. Storm【实践系列-如何写一个爬虫】 - ParserBolt

    2019独角兽企业重金招聘Python工程师标准>>> 阅读背景: 如果您对爬虫,或则web前端不够了解,请自行google. 代码前提:您需要参阅本ID 所写的前面两篇博文:  S ...

  8. python爬取b站排行榜_实时爬取B站排行榜并保存为表格——每周一个爬虫小教程系列...

    从这周开始,每周来一个爬虫小教程,希望对你们有所帮助,这次的目标是B站排行榜至于爬取什么内容,目前感觉就把序号,名称以及评分爬取下来吧(因为我是边写教程边写代码的) 这次需要用到的知识:Request ...

  9. PHP 程序员如何设计一个爬虫程序

     A8U几年前接过一个项目,类似一个 PHP 爬虫程序,做一个微博舆情分析系统:要爬取新浪微博,用特定关键词搜索中的页面的微博内容. 那是我第一次接触网络爬虫,根本没有思路,也不了解什么Scrap ...

  10. 一个爬虫的故事:这是人干的事儿?,很值得一看!

    爬虫原理 我是一个爬虫,每天穿行于互联网之上,爬取我需要的一切. 说起来还要感谢HTTP协议,因为它,全世界的网站和浏览器才能够连接通信,而我也是借助HTTP协议,获取我想要的数据. 我只需要伪装成一 ...

最新文章

  1. (转)jLink使用ITM机制实现调试stm32单片机
  2. SAP MM 初阶之事务代码MIGO中采购退货的处理
  3. 用 go 实现跨平台 Autoit/AutoHotkey 和按键精灵功能示例代码
  4. 程序员随笔:使用来自服务器的图像(有源码)
  5. hihocoder 1320 压缩字符串(字符串+dp)
  6. mysql 将三个月的数据导到历史表_迁移数据到历史表,减少业务表中数据压力 Mysql...
  7. 原来这才是日志打印的正确姿势!
  8. CPU、GPU、FPGA、ASIC等AI芯片特性及对比
  9. 当javaScript从入门到提高前需要注意的细节:变量部分
  10. php inputcsv,php excel格式(csv)数据导入导出(示例)
  11. 血眼龙王萧沙传-翠花篇
  12. python3模拟登录_Python3.4模拟登陆例子
  13. LED显示驱动(三):显示驱动底层学习小结
  14. node url模块
  15. React Ant design table表单与pagination分页配置
  16. uploader.php,使用uploader上传拍摄的图片php后端代码出错~求助~
  17. 微信小程序选项卡页面切换
  18. c语言算摄氏温度和绝对温度,将华氏度转换为绝对温度C语言
  19. Python调用kafka构建完整实例分析与应用!
  20. 开放世界游戏中的大地图的实现——内容制作篇

热门文章

  1. cmd脚本win10使用schtasks命令实现定时任务
  2. H5 授权微信第三方登录
  3. 初识p-code (pcode)
  4. 《黑马程序员》C++基础入门(一)
  5. 计算机基础知识 pdf答案,计算机基础知识试题及答案(一).pdf
  6. 室内设计和平面设计哪个更适合女生学习?
  7. 基于C语言的JPEG编码代码详解
  8. 【ubuntu使用排坑】fsckd-cancel-msg:Press Ctrl+C to cancel all filesystem checks
  9. Android高级工程师面试实战,赶快收藏备战金九银十!
  10. 【uni-app】uni-app-微信小程序项目笔记