kongtianyi / freeProxySpider

A spider aimed to crawl free proxies from internet write by node.js.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

程序功能

从百度到的提供免费代理的网站上爬取免费代理,并通过访问静态资源的方式检测代理是否可用,将可用的代理存放到本地文件当中。

依赖库

  • request:发请求,下载网页用的,类似于python的urllib2
  • cheerio:解析网页用的,语法和jquery相似,类似于python的beautifulsoup。

直接用npm下载即可

npm install request --save
npm install cheerio --save

与python的不同

用python写过不少爬虫,本来以为这次会非常轻松的完成,不过失算了。

由于nodejs的单线程异步特性,如果不加思考直接像python那么写,那么request请求还没回来的时候下面的代码就已经执行完了,保存的总是空的。

所以得做一些小手脚让它等待异步函数执行完毕再运行剩下的代码。我采用的办法是用标志量。

更好的解决办法应该是用promise,不过我比较愚鲁,看了半天愣是没看懂,希望不久的将来能领悟吧……

About

A spider aimed to crawl free proxies from internet write by node.js.


Languages

Language:JavaScript 100.0%