乐于分享

爬虫介绍和案例

微信扫一扫,分享到朋友圈

爬虫介绍和案例
0

网络爬虫是什么?

维基百科:

网络蜘蛛(Web spider)也叫网络爬虫(Web crawler),蚂蚁(ant),自动检索工具(automatic indexer),或者(在FOAF软件概念中)网络疾走(WEB scutter),是一种“自动化浏览网络”的程序,或者说是一种网络机器人。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以供搜索引擎做进一步处理(分检整理下载的页面),而使得用户能更快的检索到他们需要的信息。

网络爬虫是一种自动化运行的获取目标网页信息内容并按一定结构存储的便于查询检索的计算机程序。

这段话似乎让人看了很晕很懵逼,这个什么鬼的到底能做啥呢?
举几个很通俗的例子吧,比如你一手掌握了很多看美女图片和小电影的网站和论坛(这里都指的线上的,网络上的资源),每当夜深人静的时候,你偷偷打开电脑,秒开浏览器那个只有你本人知道的收藏夹,然后一顿点看撸晃,但是,等等,其实真实的体验没这么流畅?

  • 信息太散了,每个资源都需要单独去访问,浪费时间的点击
  • 资源良莠不齐,口味繁杂,需要花时间找到自己喜欢的内容
  • 大量烦人的广告,这尼玛是广告还是马赛克?还是播放?还是下载?
  • 手动找更新,又是一件繁重的工作

所以想看更纯粹更专注的内容,自己动手,写爬虫吧。

你说我没这需求,那没关系,你总需要看新闻吧,看文学吧,逛电商吧,总有那么一类信息,你会关注的,但是现有的服务总是不够单纯,界面不够友好,信息不够纯粹,所以,这是你需要学习并实践网络爬虫技术的动机。

Python相对其他语言来说更易于爬虫,当然其他语言当然也可以,看个人喜好了。

Python有很多成熟的网络爬虫框架, 知乎上很多大牛总结了一些实践经验,具体可以参考如何入门 Python 爬虫?
很多推荐用requests做请求,query/soup做页面数据(Html/Xml)解析,看起来很灵活,然而,一个比较完善的网络爬虫系统,所需要提供的功能可能远远不止这些。也有推荐Scrapy的,虽然看起来功能非常强大,但是这个框架上手需要一些时间,有一定的学习成本,相对于新手来说,很难快速专注爬虫业务的开发。
Pyspider是Roy Binux开发的一款开源的网络爬虫系统,它不止是一个爬虫框架,而是一套完备的爬虫系统,使用这套系统你只需要关注两件事情

  • 目标网站上的内容元素的解析,而且只需要关注解析什么,解析框架也有提供,并且提供了可视化工具辅助从目标页面抠取需要解析的元素CSS属性
  • 解析出来的内容元素如何保存,你只需要关注数据库表字段的设计,然后把解析出来的页面元素内容保存到数据库表中
  • 那么,剩下的几乎所有事情,就交给Pyspider吧

是不是听上去感觉很简单,那么,开始动手吧,跟着这篇官方文档,最快几分钟的功夫,你就可以学会从2048(草榴)找到真爱了。

 


 

爬虫案例:

Java

雪球股票信息超级爬虫
一个简单易用的爬虫框架,内置代理管理模块,灵活设置多线程爬取
A scalable web crawler framework for Java
强力 Java 爬虫,列表分页、详细页分页、ajax、微内核高扩展、配置灵活
分布式的通用爬虫,可以热插拔各个组件(提供默认的),自动切换代理,自动结构化数据与存储。使用redis,分布式调度等技术

Python

Scrapy
a smart stream-like crawler & etl python library
爬视频音频神器You-Get
另一款视频下载神器youtube-dl
youtube-dl图形界面版
自动抓取Tumblr指定用户视频分享
crawley
乌云公开漏洞、知识库爬虫和搜索
下载指定的 Tumblr 博客中的图片,视频
下载指定的 Tumblr 博客中的图片,视频,玄魂修改版
DHT网络爬虫
豆瓣电影、书籍、小组、相册、东西等爬虫集 writen in Python
如何不用客户端下载 YouKu 视频-YouKu 实现下载 Python3 实现
一个可配置的、分布式的爬虫框架
cloud-based web crawling platform
百度云爬虫-爬取百度云/百度网盘所有的分享文件
爱丝APP图片爬虫,以及免支付破解VIP看图
微信公众号爬虫
拉勾网爬虫
百度网盘爬虫(如何爬取百度网盘)
scrapy爬虫图形管理界面
PornHubBot – ? 全球最大成人网站 PornHub 爬虫 (Scrapy、MongoDB) 一天 500w 的海量数据
两只蠢萌京东的分布式爬虫

PHP

PHP Crawler
PHPCrawl
Phpfetcher
php spider framework
我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言
爬虫组件
PHP Simple HTML DOM Parser
QueryList
Goutte, a simple PHP Web Scraper

Nodejs

Nodejs 编写的爬虫工具
批量抓取AV磁链或封面的苦劳力
Easily download all the photos from a Tumblr blog.
DHT Spider + BitTorrent Client = P2P Spider
P2P Spider修改版,添加了babel,eslint,gulp等工具来支持es6代码
一个Node.js福利图网站爬虫程序
一个简单的dht爬虫,用于搜集infohash
百度云分享爬虫项目
200行的Node爬虫花了半天的时间把网易云上的30万首歌曲信息都抓取回来

Ruby

A simple DHT crawler, written in Ruby

C sharp

visualized crawler & ETL IDE written with C#/WPF

Erlang

使用erlang实现P2P磁力搜索

C++

给不了你梦中情人,至少还有硬盘女神:hardseed

Golang

a distributed, high concurrency and powerful web crawler software

网络爬虫专题

open-open 网络爬虫专题
你想要的爬虫,都在这里

 

文章来源:https://www.figotan.org/2016/08/10/pyspider-as-a-web-crawler-system/

只有绵羊会向狮子要求平等,而狮子们从来不会这样想。

国内Google字体飞起,可以解除Google字体禁用了

上一篇

WordPress:dangopress 简单的自适应主题

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

类别小工具