python 爬虫框架_Python常用的几个高效率的爬虫框架
1.Scrapy
Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架。 可以應(yīng)用在包括數(shù)據(jù)挖掘,信息處理或存儲(chǔ)歷史數(shù)據(jù)等一系列的程序中。用這個(gè)框架可以輕松爬下來如亞馬遜商品信息之類的數(shù)據(jù)。
Scrapy,Python開發(fā)的一個(gè)快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化測(cè)試。
Scrapy吸引人的地方在于它是一個(gè)框架,任何人都可以根據(jù)需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持。
Scrap,是碎片的意思,這個(gè)Python的爬蟲框架叫Scrapy。
項(xiàng)目地址:https://scrapy.org/
2.PySpider
pyspider 是一個(gè)用python實(shí)現(xiàn)的功能強(qiáng)大的網(wǎng)絡(luò)爬蟲系統(tǒng),能在瀏覽器界面上進(jìn)行腳本的編寫,功能的調(diào)度和爬取結(jié)果的實(shí)時(shí)查看,后端使用常用的數(shù)據(jù)庫進(jìn)行爬取結(jié)果的存儲(chǔ),還能定時(shí)設(shè)置任務(wù)與任務(wù)優(yōu)先級(jí)等。
主要特性如下:
1、強(qiáng)大的WebUI,包含:腳本編輯器、任務(wù)監(jiān)控器,項(xiàng)目管理器和結(jié)果查看器;
2、多數(shù)據(jù)庫支持,包括:MySQL, MongoDB, Redis, SQLite, Elasticsearch; PostgreSQL with SQLAlchemy等;
3、使用RabbitMQ, Beanstalk, Redis 和Kombu作為消息隊(duì)列;
4、支持任務(wù)優(yōu)先級(jí)設(shè)定、定時(shí)任務(wù)、失敗后重試等;
5、支持分布式爬蟲
項(xiàng)目地址:https://github.com/binux/pyspider
3.Crawley
Crawley可以高速爬取對(duì)應(yīng)網(wǎng)站的內(nèi)容,支持關(guān)系和非關(guān)系數(shù)據(jù)庫,數(shù)據(jù)可以導(dǎo)出為JSON、XML等。
crawley也是使用python開發(fā)出來的一款爬蟲框架,該框架致力于改變?nèi)藗儚幕ヂ?lián)網(wǎng)中提取數(shù)據(jù)的方式,讓大家可以更高效地從互聯(lián)網(wǎng)中爬取對(duì)應(yīng)內(nèi)容。
crawley框架的主要特點(diǎn)有:
1>高速爬取對(duì)應(yīng)網(wǎng)站內(nèi)容
2> 可以將爬取到內(nèi)容輕松地存儲(chǔ)到數(shù)據(jù)庫中,比如:postgres,mysql,oracle,sqlite等數(shù)據(jù)庫
3>可以將爬取到的數(shù)據(jù)導(dǎo)出為json,xml等格式
4>支持非關(guān)系型數(shù)據(jù)庫,比如:mongodb,couchdb等
5>支持使用命令行工具
6>可以使用你喜歡的工具提取數(shù)據(jù),比如使用xpath或者pyquery等工具
7>支持使用cookie登陸并訪問哪些只有登陸才能夠訪問的網(wǎng)頁
項(xiàng)目地址:http://project.crawley-cloud.com/
4.Portia
Portia是一個(gè)開源可視化爬蟲工具,可讓您在不需要任何編程知識(shí)的情況下爬取網(wǎng)站!簡(jiǎn)單地注釋您感興趣的頁面,Portia將創(chuàng)建一個(gè)蜘蛛來從類似的頁面提取數(shù)據(jù)。
portia框架是一款允許沒有任何編程基礎(chǔ)的用戶可視化地爬取網(wǎng)頁的爬蟲框架,給出你要爬取的網(wǎng)頁中感興趣的數(shù)據(jù)內(nèi)容,通過portia框架,可以將你所需要的信息從相似的網(wǎng)頁中自動(dòng)提取出來。
項(xiàng)目地址:https://github.com/scrapinghub/portia
5.Newspaper
Newspaper可以用來提取新聞、文章和內(nèi)容分析。使用多線程,支持10多種語言等。
newspaper框架是一種用來提取新聞、文章以及內(nèi)容分析的python爬蟲框架。更準(zhǔn)確地說,newspaper是一個(gè)python的庫,只不過這個(gè)庫是由第三方開發(fā)的,可以歸為一種框架。
newspaper框架在的主要特點(diǎn):
1>比較簡(jiǎn)單
2>速度比較快
3>支持多線程
4>支持十多種語言
由此我們可以知道newspaper框架是輕量級(jí)框架,并且就爬取文章信息這一功能來說,使用起來很方便
項(xiàng)目地址:https://github.com/codelucas/newspaper
6.Beautiful Soup
Beautiful Soup 是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫.它能夠通過你喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航,查找,修改文檔的方式.Beautiful Soup會(huì)幫你節(jié)省數(shù)小時(shí)甚至數(shù)天的工作時(shí)間。
項(xiàng)目地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
7.Grab
Grab是一個(gè)用于構(gòu)建Web刮板的Python框架。借助Grab,您可以構(gòu)建各種復(fù)雜的網(wǎng)頁抓取工具,從簡(jiǎn)單的5行腳本到處理數(shù)百萬個(gè)網(wǎng)頁的復(fù)雜異步網(wǎng)站抓取工具。Grab提供一個(gè)API用于執(zhí)行網(wǎng)絡(luò)請(qǐng)求和處理接收到的內(nèi)容,例如與HTML文檔的DOM樹進(jìn)行交互。
項(xiàng)目地址:http://docs.grablib.org/en/latest/#grab-spider-user-manual
8.Cola
Cola是一個(gè)分布式的爬蟲框架,對(duì)于用戶來說,只需編寫幾個(gè)特定的函數(shù),而無需關(guān)注分布式運(yùn)行的細(xì)節(jié)。任務(wù)會(huì)自動(dòng)分配到多臺(tái)機(jī)器上,整個(gè)過程對(duì)用戶是透明的。
項(xiàng)目地址:https://github.com/chineking/cola
9、mechanize
優(yōu)點(diǎn):可以加載JS。缺點(diǎn):文檔嚴(yán)重缺失。不過通過官方的example以及人肉嘗試的方法,還是勉強(qiáng)能用的。
10、selenium
這是一個(gè)調(diào)用瀏覽器的driver,通過這個(gè)庫你可以直接調(diào)用瀏覽器完成某些操作,比如輸入驗(yàn)證碼
總結(jié)
以上是生活随笔為你收集整理的python 爬虫框架_Python常用的几个高效率的爬虫框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 代码生成
- 下一篇: python调用ping命令_Windo