网络爬虫

最近在写一个程序,去爬热门事件和热门关键词网站上的数据。在这里介绍一下网络爬虫的种种。

基本组件

image

网络爬虫也叫做网络蜘蛛,是一种互联网机器人,把需要的网页撷取下来,组织成适当格式存储。它是搜索引擎的重要组成部分,虽然从技术实现上来说,它的难度往往要小于对于得到的网页信息的处理。

上面这张图来自 维基百科 ,scheduler 调度多个多线程的下载器下载网页,并把信息和元数据存储起来。而通过解析下载网页的数据,找到链接,又把链接加入到工作队列中去准备下载。这看起来是一个迭代的过程。

网络爬虫相关的几项重要策略:

  • 选择策略:哪些网页是需要被抓取的;
  • 重访问策略:怎样的方式去检测网页是否被修改过;

[……]阅读全文

DNS 劫持

想谈一谈这个话题是因为最近有一位朋友抱怨他的博客在某些用户某些时候访问的时候,被莫名其妙地加上了广告,他检查来检查去,始终发现不了网站本身有什么问题,后来他才了解到了 DNS 劫持一说。

DNS 劫持

其实这不是一个新概念了,在几年前,中国一些不讲道德的运营商,尤其是地方运营商就开始捕捉用户浏览器的访问记录,然后根据不同用户的访问行为,有选择地往用户访问的网页里面推送广告。因为运营商掌握着 DNS 主机,所以他们可以为所欲为地强制改写网站 HTML 页面,采用往返回页面里写入 JavaScript 等方式,来注入广告:

image

这是访问 55BBS 网站时某些用户会在屏幕右下角看到一个京东商城的广告。这样的广告,

[……]阅读全文

如何在局域网内抢带宽

3 事情的起因是最近家里买了一台 60 寸的智能电视,支持点播(VOD)功能,家里的网络带宽理论上只有 4M,在播放的时候,就会占用大量网络带宽,导致我同时上网浏览网页都很困难。

有没有办法给限制局域网内某台主机的流量?首先,还是得从 TCP 的原理说起。

TCP 拥塞控制

TCP 是个君子协议,在拥塞控制的设计(RFC 2851)中包括慢开始、拥塞避免、快重传和快恢复 4 种算法。

c

拥塞窗口(cwnd)和接收端窗口(rwnd)二者的最小值确定了发送窗口的上限值,而实际上对于现今的网卡,接收端窗口的大小是可以很大的,也就是说,拥塞主要寄希望于拥塞窗口来控制,拥塞窗口直接决定了传输的速率。从上面这张图可

[……]阅读全文

酒桌上的计算机网络

alcohol 宴开始。

 

酒杯盛酒,酒杯碰撞,这是 物理层

你要根据不同人的外貌特征找到你要敬酒的人所坐的位置,这是 IP 协议网络层);

你明白,敬酒的实际目的是加深感情,这在 应用层 ,而这酒中的感情,才是报文的 数据部分

 

你和某位新见面的兄弟互相来回敬酒,这叫 TCP

你给同一位好兄弟敬酒好多次,死命灌他,他也不回礼,这叫 UDP

你对全桌的人说,来,咱们同归于尽,这叫 广播

你在对这一桌的人顺序挨个敬酒,这叫 令牌环

 

 

你对该兄弟说,初次见面,请多关照,请问阁下尊姓大名,敬酒一杯,这叫 SYN 报文

这位兄弟说,同是天涯沦落人,

[……]阅读全文

back to top