之前公司有需求要做一个采集信息的工具,包括获取商品信息导入数据库,比价什么的功能,没办法只能尝试这做一下。考虑到是做定向爬取,我就选择了jquery,因为jquery相比其他语言做爬虫是简单轻松很多。
不同语言自然会有不同用处。离开环境谈哪个好,哪个不好都是耍流氓。1,如果是自己做着玩的话,定向爬几个页面,效率不是核心要求的话,问题不会大,什么语言都行的,性能差异不会大。当然,如果碰到十分复杂的页面,正则写的很复杂的话,爬虫的可维护性就会下降。2,如果是做定向爬取,而目标又要解析动态js。那么这个时候,用普通的请求页面,然后得到内容的方法肯定不行了,就要一个类似firfox,chrome的js引擎来对js代码做动态解析。这个时候推荐casperJS+phantomjs或slimerJS+phantomjs3,如果是大规模的网站爬取。这个时候就要考虑到,效率,扩展性,可维护性,等等了。大规模的爬取涉及的方面很多,比如分布式爬取,判重机制,任务调度。这些问题深入下去哪一个简单了?语言选取这个时候很重要。NodeJs:做爬虫效率很高。高并发,多线程编程变成了简单的遍历和callback,内存cpu占用小,要处理好callback。PHP:各种框架到处有,随便拉个来用都行。但是,PHP的效率真的有问题…不多说Python:我用python写的比较多,对各种问题都有比较好的支持。scrapy框架很好用,优点多。我觉得js也不是很适合写…效率问题。没写过,估计会有麻烦一堆。据我知道的,大公司也有用c++的,总之大多数都是在开源框架上改造。真重新造个轮子的不多吧。不值。来自segmentfault一位大佬
jquery实现
当然了,这个采集代码不只是针对这一个商品,它可以抓取和他页面结构一样的所有商品。
PS:这里的抓取可根据自己的实际业务来改变,比如需要让页面中的轮播图切换这个才能获取,那就在抓取之前写个切换的脚本;切换一张抓取一张;
怎么才能在谷歌中运行这个脚本
方法一:直接放在控制台(这里并不推荐使用,因为公司的人不可能都懂代码,而且操作麻烦)。
方法二:在浏览器中添加书签,把代码复制到网址栏里,要采集的时候点击一下就ok了!
PS:整体运用情况看,个人觉得jquery做采集还是挺不错的。当然相比php、python的话显得有点低端的感觉,那也没办法谁让php、python是动态获取的呢?之后会用php或python做个一个动态抓取的脚本,当然也包括比价之类的运用…..
后端处理数据(可忽略)
如果您觉得本文的内容对您的学习有所帮助:
关键字:
jquery