![782c4dd75f6405b90555566cdeaa64ca.png](https://i-blog.csdnimg.cn/blog_migrate/dc3acfb7b4cfe2841416991477157bc8.jpeg)
![d4d4e4f3c352de9c96de693007af3590.png](https://i-blog.csdnimg.cn/blog_migrate/2a1997597b03286ed7c79681d34332ef.png)
一般比价小型的爬虫需求,我是直接使用requests库 bs4就解决了,再麻烦点就使用selenium解决js的异步 加载问题。相对比较大型的需求才使用框架,主要是便于管理以及扩展等。
1.Scrapy
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
![6b79d1a7ff7d6c3311a2719c9aefe302.png](https://i-blog.csdnimg.cn/blog_migrate/dcc49d7838772ecf90bad8357514010d.png)
![4cc5c6905416aec29f483513f16cb80b.png](https://i-blog.csdnimg.cn/blog_migrate/caf2e388884b3187f7cb69a20416ec53.jpeg)
特性:
![4cc5c6905416aec29f483513f16cb80b.png](https://i-blog.csdnimg.cn/blog_migrate/caf2e388884b3187f7cb69a20416ec53.jpeg)
![4286a80c3d2effdb32e3b1186dc777b9.png](https://i-blog.csdnimg.cn/blog_migrate/ced96f0a4ea5a8d3cd4d2e6e116d93ea.png)
![c845118cdde616efeb4263d5ffd20704.png](https://i-blog.csdnimg.cn/blog_migrate/c8e4984f6146badfb615f5f3137161cc.png)
![2f63a81031577e2923108f0ecc610a14.png](https://i-blog.csdnimg.cn/blog_migrate/b9cbf511abca62904169c230d5589a1b.png)
快速入门
安装
pip install scrapy
创建项目
![8ea960d23ef8ed22ffb0b824845a5525.png](https://i-blog.csdnimg.cn/blog_migrate/0876cc845385fcfb63073e35efb2cf26.png)
写爬虫
![5572f47b4cca76fa996030d41a28dffb.png](https://i-blog.csdnimg.cn/blog_migrate/856a593f5753b827e94028692913f718.png)
运行
scrapy crawl dmoz
这里就简单介绍一下,后面有时间详细写一些关于scrapy的文章,我的很多爬虫的数据都是scrapy基础上实现的。
2.PySpider
PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。
![d82d822bb7bfc342dc54b5a13bde036d.png](https://i-blog.csdnimg.cn/blog_migrate/a6ab123f70a9949bd1c8049d8e51fe35.png)
- python 脚本控制,可以用任何你喜欢的html解析包(内置 pyquery)
- WEB 界面编写调试脚本,起停脚本,监控执行状态,查看活动历史,获取结果产出
- 数据存储支持MySQL, MongoDB, Redis, SQLite, Elasticsearch; PostgreSQL 及 SQLAlchemy
![113eb98b04d51349180104c9c91da3b9.png](https://i-blog.csdnimg.cn/blog_migrate/c62126e5999d3f348c6e5e700f01634a.png)
示例
代开web界面的编辑输入代码即可
![b34e865e0b5d1a7193709e9da89b05d3.png](https://i-blog.csdnimg.cn/blog_migrate/8577617511fb69a73419b9930c2a2db8.png)
3.Crawley
Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
![24d83cecbd1be238797ec07010985394.png](https://i-blog.csdnimg.cn/blog_migrate/0863b3d234ce5f1161642510c8cb5a17.png)
创建project
![cd12a27ed3437912000cfd3b56fe0782.png](https://i-blog.csdnimg.cn/blog_migrate/6aea27ea6136d4dbe00f3d19c9e9fab6.png)
写Python爬虫逻辑
![9239fd503eb383aaa0593085757c7122.png](https://i-blog.csdnimg.cn/blog_migrate/b7eb0a12c1b6acb98345fa4ab721a677.png)
配置
![2fe47e80ce753e007768bf88cbbed569.png](https://i-blog.csdnimg.cn/blog_migrate/83fd5dab0cf2a604e7a122307f1c2dbe.png)
运行
~$ crawley run
4.Portia
Portia是一个开源可视化爬虫工具,可让您在不需要任何编程知识的情况下爬取网站!简单地注释您感兴趣的页面,Portia将创建一个蜘蛛来从类似的页面提取数据。
![533d2f67635cb7ae62177e33a16838e3.png](https://i-blog.csdnimg.cn/blog_migrate/0cec4d8044d27988d58be79eb9c8354a.png)
5.Newspaper
Newspaper可以用来提取新闻、文章和内容分析。使用多线程,支持10多种语言等。作者从requests库的简洁与强大得到灵感,使用python开发的可用于提取文章内容的程序。
支持10多种语言并且所有的都是unicode编码。
示例
![deb9b8c6250e10928973566dc68879bc.png](https://i-blog.csdnimg.cn/blog_migrate/6433f3c776eb1042e8a9dfe4ac69cf8c.png)
6.Beautiful Soup
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。这个我是使用的特别频繁的。在获取html元素,都是bs4完成的。
![ca5cf04054f962f4c8a8ed708ede6471.png](https://i-blog.csdnimg.cn/blog_migrate/4459836084fe25f030512810787fe2cf.png)
示例:
![ffd61b530dcfafb166aff29b2474b33a.png](https://i-blog.csdnimg.cn/blog_migrate/8b64fe05716014d235c8546e5b01e14a.png)
7.Grab
Grab是一个用于构建Web刮板的Python框架。借助Grab,您可以构建各种复杂的网页抓取工具,从简单的5行脚本到处理数百万个网页的复杂异步网站抓取工具。Grab提供一个API用于执行网络请求和处理接收到的内容,例如与HTML文档的DOM树进行交互。
8.Cola
Cola是一个分布式的爬虫框架,对于用户来说,只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。
![ea03fbf32dc94039def8c0a9d62d583c.png](https://i-blog.csdnimg.cn/blog_migrate/a53fc171646d2435833eb74862772cfd.png)
案例
![d7706dba0f6383d6c6fefe9927bae99e.png](https://i-blog.csdnimg.cn/blog_migrate/15deeb2310b315010a759793da559704.png)
10 .Python-goose框架
Python-goose框架可提取的信息包括:
![03b8c4fae07127d8dd841089f55ca839.png](https://i-blog.csdnimg.cn/blog_migrate/7e952a8301b012a9fd38d2178c56b335.png)
用法示例
![e6df3c6988e65196936080ea86e44d2a.png](https://i-blog.csdnimg.cn/blog_migrate/16142cf4f93aff4e9b9988a2612f32e0.jpeg)