python爬虫用什么框架 用Python写爬虫,用什么方式,框架比较好

python\u722c\u866b\u6846\u67b6\u54ea\u4e2a\u597d\u7528\uff1f

\u722c\u866b\u6846\u67b6\u4e2d\u6bd4\u8f83\u597d\u7528\u7684\u662f Scrapy \u548cPySpider\u3002pyspider\u4e0a\u624b\u66f4\u7b80\u5355\uff0c\u64cd\u4f5c\u66f4\u52a0\u7b80\u4fbf\uff0c\u56e0\u4e3a\u5b83\u589e\u52a0\u4e86 WEB \u754c\u9762\uff0c\u5199\u722c\u866b\u8fc5\u901f\uff0c\u96c6\u6210\u4e86phantomjs\uff0c\u53ef\u4ee5\u7528\u6765\u6293\u53d6js\u6e32\u67d3\u7684\u9875\u9762\u3002Scrapy\u81ea\u5b9a\u4e49\u7a0b\u5ea6\u9ad8\uff0c\u6bd4 PySpider\u66f4\u5e95\u5c42\u4e00\u4e9b\uff0c\u9002\u5408\u5b66\u4e60\u7814\u7a76\uff0c\u9700\u8981\u5b66\u4e60\u7684\u76f8\u5173\u77e5\u8bc6\u591a\uff0c\u4e0d\u8fc7\u81ea\u5df1\u62ff\u6765\u7814\u7a76\u5206\u5e03\u5f0f\u548c\u591a\u7ebf\u7a0b\u7b49\u7b49\u662f\u975e\u5e38\u5408\u9002\u7684\u3002

PySpider

PySpider\u662fbinux\u505a\u7684\u4e00\u4e2a\u722c\u866b\u67b6\u6784\u7684\u5f00\u6e90\u5316\u5b9e\u73b0\u3002\u4e3b\u8981\u7684\u529f\u80fd\u9700\u6c42\u662f\uff1a

\u6293\u53d6\u3001\u66f4\u65b0\u8c03\u5ea6\u591a\u7ad9\u70b9\u7684\u7279\u5b9a\u7684\u9875\u9762

\u9700\u8981\u5bf9\u9875\u9762\u8fdb\u884c\u7ed3\u6784\u5316\u4fe1\u606f\u63d0\u53d6

\u7075\u6d3b\u53ef\u6269\u5c55\uff0c\u7a33\u5b9a\u53ef\u76d1\u63a7

pyspider\u7684\u8bbe\u8ba1\u57fa\u7840\u662f\uff1a\u4ee5python\u811a\u672c\u9a71\u52a8\u7684\u6293\u53d6\u73af\u6a21\u578b\u722c\u866b

\u901a\u8fc7python\u811a\u672c\u8fdb\u884c\u7ed3\u6784\u5316\u4fe1\u606f\u7684\u63d0\u53d6\uff0cfollow\u94fe\u63a5\u8c03\u5ea6\u6293\u53d6\u63a7\u5236\uff0c\u5b9e\u73b0\u6700\u5927\u7684\u7075\u6d3b\u6027

\u901a\u8fc7web\u5316\u7684\u811a\u672c\u7f16\u5199\u3001\u8c03\u8bd5\u73af\u5883\u3002web\u5c55\u73b0\u8c03\u5ea6\u72b6\u6001

\u6293\u53d6\u73af\u6a21\u578b\u6210\u719f\u7a33\u5b9a\uff0c\u6a21\u5757\u95f4\u76f8\u4e92\u72ec\u7acb\uff0c\u901a\u8fc7\u6d88\u606f\u961f\u5217\u8fde\u63a5\uff0c\u4ece\u5355\u8fdb\u7a0b\u5230\u591a\u673a\u5206\u5e03\u5f0f\u7075\u6d3b\u62d3\u5c55

pyspider\u7684\u67b6\u6784\u4e3b\u8981\u5206\u4e3a scheduler\uff08\u8c03\u5ea6\u5668\uff09, fetcher\uff08\u6293\u53d6\u5668\uff09, processor\uff08\u811a\u672c\u6267\u884c\uff09\uff1a

\u5404\u4e2a\u7ec4\u4ef6\u95f4\u4f7f\u7528\u6d88\u606f\u961f\u5217\u8fde\u63a5\uff0c\u9664\u4e86scheduler\u662f\u5355\u70b9\u7684\uff0cfetcher \u548c processor \u90fd\u662f\u53ef\u4ee5\u591a\u5b9e\u4f8b\u5206\u5e03\u5f0f\u90e8\u7f72\u7684\u3002 scheduler \u8d1f\u8d23\u6574\u4f53\u7684\u8c03\u5ea6\u63a7\u5236

\u4efb\u52a1\u7531 scheduler \u53d1\u8d77\u8c03\u5ea6\uff0cfetcher \u6293\u53d6\u7f51\u9875\u5185\u5bb9\uff0c processor \u6267\u884c\u9884\u5148\u7f16\u5199\u7684python\u811a\u672c\uff0c\u8f93\u51fa\u7ed3\u679c\u6216\u4ea7\u751f\u65b0\u7684\u63d0\u94fe\u4efb\u52a1\uff08\u53d1\u5f80 scheduler\uff09\uff0c\u5f62\u6210\u95ed\u73af\u3002

\u6bcf\u4e2a\u811a\u672c\u53ef\u4ee5\u7075\u6d3b\u4f7f\u7528\u5404\u79cdpython\u5e93\u5bf9\u9875\u9762\u8fdb\u884c\u89e3\u6790\uff0c\u4f7f\u7528\u6846\u67b6API\u63a7\u5236\u4e0b\u4e00\u6b65\u6293\u53d6\u52a8\u4f5c\uff0c\u901a\u8fc7\u8bbe\u7f6e\u56de\u8c03\u63a7\u5236\u89e3\u6790\u52a8\u4f5c\u3002

\u5982\u679c\u9700\u8981\u722c\u53d6\u7684\u5185\u5bb9\u4e0d\u662f\u5f88\u591a\uff0c\u53ef\u4ee5\u4f7f\u7528\u7f51\u7edc\u5e93 urllib+requests HTML\u89e3\u6790\u5e93 BeautifulSoup4 \u914d\u5408 \u7f16\u7801\u5206\u6790\u5e93 chardet \u5b8c\u6210\u722c\u53d6\u7f51\u7ad9\u5185\u5bb9\u3002
\u5982\u679c\u9700\u8981\u722c\u53d6\u7684\u5185\u5bb9\u6bd4\u8f83\u591a\uff0c\u4f46\u722c\u53d6\u5185\u5bb9\u662f\u9759\u6001\uff0c\u53ef\u4ee5\u4f7f\u7528 Scrapy \u722c\u866b\u6846\u67b6 \u7f16\u5199\u722c\u866b bot\uff0cScrapy \u6846\u67b6\u80fd\u591f\u6bd4\u4e0a\u9762\u65b9\u6cd5\u66f4\u9ad8\u6548\u7684\u5e76\u884c\u722c\u53d6\u7f51\u7ad9\u5185\u5bb9\u3002
\u5982\u679c\u722c\u53d6\u7684\u5185\u5bb9\u662f\u52a8\u6001\u751f\u6210\u7684\uff0c\u53ef\u4ee5\u4f7f\u7528 Scrapy \u6846\u67b6\u642d\u914d scrapy-splash \u4e2d\u95f4\u4ef6\u6216\u662f phamtomJS \u6293\u53d6\u5185\u5bb9\u3002

python爬虫框架概述
爬虫框架中比较好用的是 Scrapy 和PySpider。pyspider上手更简单,操作更加简便,因为它增加了 WEB 界面,写爬虫迅速,集成了phantomjs,可以用来抓取js渲染的页面。Scrapy自定义程度高,比 PySpider更底层一些,适合学习研究,需要学习的相关知识多,不过自己拿来研究分布式和多线程等等是非常合适的。
PySpider
PySpider是binux做的一个爬虫架构的开源化实现。主要的功能需求是:
抓取、更新调度多站点的特定的页面
需要对页面进行结构化信息提取
灵活可扩展,稳定可监控
pyspider的设计基础是:以python脚本驱动的抓取环模型爬虫
通过python脚本进行结构化信息的提取,follow链接调度抓取控制,实现最大的灵活性
通过web化的脚本编写、调试环境。web展现调度状态
抓取环模型成熟稳定,模块间相互独立,通过消息队列连接,从单进程到多机分布式灵活拓展
pyspider的架构主要分为 scheduler(调度器), fetcher(抓取器), processor(脚本执行):
各个组件间使用消息队列连接,除了scheduler是单点的,fetcher 和 processor 都是可以多实例分布式部署的。 scheduler 负责整体的调度控制
任务由 scheduler 发起调度,fetcher 抓取网页内容, processor 执行预先编写的python脚本,输出结果或产生新的提链任务(发往 scheduler),形成闭环。
每个脚本可以灵活使用各种python库对页面进行解析,使用框架API控制下一步抓取动作,通过设置回调控制解析动作。
Scrapy
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试
Scrapy主要包括了以下组件:
引擎(Scrapy): 用来处理整个系统的数据流处理, 触发事务(框架核心)
调度器(Scheduler): 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址
下载器(Downloader): 用于下载网页内容, 并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的)
爬虫(Spiders): 爬虫是主要干活的, 用于从特定的网页中提取自己需要的信息, 即所谓的实体(Item)。用户也可以从中提取出链接,让Scrapy继续抓取下一个页面
项目管道(Pipeline): 负责处理爬虫从网页中抽取的实体,主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。当页面被爬虫解析后,将被发送到项目管道,并经过几个特定的次序处理数据。
下载器中间件(Downloader Middlewares): 位于Scrapy引擎和下载器之间的框架,主要是处理Scrapy引擎与下载器之间的请求及响应。
爬虫中间件(Spider Middlewares): 介于Scrapy引擎和爬虫之间的框架,主要工作是处理蜘蛛的响应输入和请求输出。
调度中间件(Scheduler Middewares): 介于Scrapy引擎和调度之间的中间件,从Scrapy引擎发送到调度的请求和响应。
Scrapy运行流程大概如下:
首先,引擎从调度器中取出一个链接(URL)用于接下来的抓取
引擎把URL封装成一个请求(Request)传给下载器,下载器把资源下载下来,并封装成应答包(Response)
然后,爬虫解析Response
若是解析出实体(Item),则交给实体管道进行进一步的处理。
若是解析出的是链接(URL),则把URL交给Scheduler等待抓取

学习使用python爬虫库
Python 爬虫库,requests是python实现的简单易用的HTTP库,requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,因为是第三方库,所以使用前需要cmd安装

Python爬虫框架有很多,具体推荐以下几个:
1、Scrapy框架,是一套比较成熟的Python爬虫框架,是使用Python开发的快速、高层次的信息爬取框架,可以高效的爬取web页面并提取结构化数据。
2、Crawley框架,是Python开发出来的爬虫框架,该框架致力于改变人们从互联网中提取数据的方式。
3、Portia框架,一款允许没有任何编程基础的用户可视化地爬取网页的爬虫框架。
4、newspaper框架,一个用来提取新闻、文章以及内容分析的Python爬虫框架。
5、Python—goose框架,该框架可以提取文章主体内容、文章主要图片、文章中嵌入的任何Youtube/Vimeo视频、元描述、元标签。

python爬虫框架有scrapy,twisted

  • python鐖櫕闇瑕佸浠涔妯″潡鍜妗嗘灦
    绛旓細鏈濂界敤鐨python鐖櫕妗嗘灦 鈶燬crapy锛氭槸涓涓负浜嗙埇鍙栫綉绔欐暟鎹紝鎻愬彇缁撴瀯鎬ф暟鎹岀紪鍐欑殑搴旂敤妗嗘灦銆傚彲浠ュ簲鐢ㄥ湪鍖呮嫭鏁版嵁鎸栨帢锛屼俊鎭鐞嗘垨瀛樺偍鍘嗗彶鏁版嵁绛変竴绯诲垪鐨勭▼搴忎腑;鐢ㄨ繖涓鏋跺彲浠ヨ交鏉剧埇涓嬫潵濡備簹椹婂晢鍝佷俊鎭箣绫荤殑鏁版嵁銆傗憽PySpider锛氭槸涓涓敤python瀹炵幇鐨勫姛鑳藉己澶х殑缃戠粶鐖櫕绯荤粺锛岃兘鍦ㄦ祻瑙堝櫒鐣岄潰涓婅繘琛岃剼鏈殑...
  • python鐖櫕妗嗘灦鍝釜濂界敤
    绛旓細璇村疄璇濇劅瑙夊ぇ鍚屽皬寮傘傚悇鏈変紭缂虹偣鍚甯歌python鐖櫕妗嗘灦1)Scrapy:寰堝己澶х殑鐖櫕妗嗘灦锛屽彲浠ユ弧瓒崇畝鍗曠殑椤甸潰鐖彇锛堟瘮濡傚彲浠ユ槑纭幏鐭rl pattern鐨勬儏鍐碉級銆傜敤杩欎釜妗嗘灦鍙互杞绘澗鐖笅鏉ュ浜氶┈閫婂晢鍝佷俊鎭箣绫荤殑鏁版嵁銆備絾鏄浜庣◢寰鏉備竴鐐圭殑椤甸潰锛屽weibo鐨勯〉闈俊鎭紝杩欎釜妗嗘灦灏辨弧瓒充笉浜嗛渶姹備簡銆2)Crawley: 楂橀熺埇鍙栧搴...
  • python鐖櫕闇瑕佸畨瑁鍝簺搴
    绛旓細Beautiful Soup鍙互浣跨敤瀹冩洿鏂逛究鐨勪粠 HTML 鏂囨。涓彁鍙栨暟鎹3. pyquery pyquery鏄竴涓綉椤佃В鏋愬簱锛岄噰鐢ㄧ被浼糺query鐨勮娉曟潵瑙f瀽HTML鏂囨。銆備笁銆 瀛樺偍搴 1. mysql 2. mongodb 3. redis 鍥涖 鐖櫕妗嗘灦scrapy Scrapy 鏄竴濂楀紓姝ュ鐞嗘鏋讹紝绾python瀹炵幇鐨勭埇铏鏋讹紝鐢ㄦ潵鎶撳彇缃戦〉鍐呭浠ュ強鍚勭鍥剧墖 ...
  • 鐖櫕妗嗘灦閮芥湁浠涔
    绛旓細瀹炵幇鐖櫕鎶鏈殑缂栫▼鐜鏈夊緢澶氱锛孞ava銆丳ython銆丆++绛夐兘鍙互鐢ㄦ潵鐖櫕銆備絾寰堝浜洪夋嫨Python鏉ュ啓鐖櫕锛屼负浠涔堝憿锛熷洜涓篜ython纭疄寰堥傚悎鍋氱埇铏紝涓板瘜鐨勭涓夋柟搴撳崄鍒嗗己澶э紝绠鍗曞嚑琛屼唬鐮佷究鍙疄鐜颁綘鎯宠鐨勫姛鑳姐傛洿閲嶈鐨勶紝Python涔熸槸鏁版嵁鎸栨帢鍜屽垎鏋愮殑濂借兘鎵嬨傞偅涔堬紝Python鐖櫕涓鑸鐢ㄤ粈涔堟鏋姣旇緝濂斤紵涓鑸潵璁诧紝鍙湁鍦...
  • python妗嗘灦鏄浠涔,涓绘祦妗嗘灦鏈鍝簺
    绛旓細python涓鐨勬鏋舵槸浠涔圥ython妗嗘灦閫氬父鍒嗕负鍏ㄦ爤妗嗘灦鍜岄潪鍏ㄦ爤妗嗘灦銆傚叏鏍堟鏋惰璁′粠鐢ㄦ埛浣撻獙鍒版暟鎹簱鐨勬墍鏈夋妧鏈紝闈炲叏鏍堟鏋跺垯骞朵笉鍖呭惈鏁翠釜寮鍙戠殑鍏ㄩ儴鎶鏈備笅闈㈡槸15涓渶鍙楁杩庣殑Python寮婧愭鏋躲傝繖浜涙鏋跺寘鎷簨浠禝/O锛孫LAP锛學eb寮鍙戯紝楂樻ц兘缃戠粶閫氫俊锛屾祴璇曪紝鐖櫕绛夈1銆丏jango: Python Web搴旂敤寮鍙戞鏋禗jango 搴旇...
  • Python缂栫▼鍩虹涔(浜)Scrapy鐖櫕妗嗘灦
    绛旓細缁忚繃鍓嶉潰鍥涚珷鐨勫涔狅紝鎴戜滑宸茬粡鍙互浣跨敤Requests搴撱丅eautiful Soup搴撳拰Re搴擄紝缂栧啓鍩烘湰鐨Python鐖櫕绋嬪簭浜嗐傞偅涔堣繖涓绔犲氨鏉ュ涔犱竴涓笓涓氱殑缃戠粶鐖櫕妗嗘灦--Scrapy銆傛病閿欙紝鏄鏋讹紝鑰屼笉鏄儚鍓嶉潰浠嬬粛鐨勫嚱鏁板姛鑳藉簱銆係crapy鏄竴涓揩閫熴佸姛鑳藉己澶х殑缃戠粶鐖櫕妗嗘灦銆傚彲鑳藉ぇ瀹惰繕涓嶅お浜嗚В浠涔鏄鏋讹紝鐖櫕妗嗘灦鍏跺疄鏄疄鐜...
  • python甯哥敤鐨8涓妗嗘灦
    绛旓細瀹冧篃鎻愪緵浜嗗绉嶇被鍨嬬埇铏殑鍩虹被锛屽BaseSpider銆.sitemap鐖櫕绛夛紝鏈鏂扮増鏈張鎻愪緵浜唚eb2.0鐖櫕鐨勬敮鎸併係crap,鏄鐗囩殑鎰忔濓紝杩欎釜Python鐨勭埇铏鏋鍙玈crapy銆8.pandas pandas鏄熀浜嶯umPy鐨勪竴绉嶅伐鍏凤紝璇ュ伐鍏锋槸涓轰簡瑙e喅鏁版嵁鍒嗘瀽浠诲姟鑰屽垱寤虹殑銆侾andas绾冲叆浜嗗ぇ閲忓簱鍜屼竴浜涙爣鍑嗙殑鏁版嵁妯″瀷锛屾彁渚涗簡楂樻晥鍦版搷浣滃ぇ鍨嬫暟鎹泦鎵...
  • Python浠涔堢埇铏搴撳ソ鐢?
    绛旓細Pyppeteer锛氭槸寮傛鏃犲ご娴忚鍣紝浠庤窇鍒嗘潵鐪嬫瘮Selenium+webdriver蹇紝浣跨敤鏂瑰紡鏄渶鎺ヨ繎浜庢祻瑙堝櫒鐨勮嚜韬殑璁捐鎺ュ彛鐨勩傚畠鏈韩鏄潵鑷 Google缁存姢鐨刾uppeteer锛屼絾鏄寜鐓Python绀惧尯鐨勬锛屼綔鑰呰繘琛屼簡灏佽骞朵笖鎶婂悕瀛椾腑鐨剈鏀规垚浜唝銆備笅闈负澶у浠嬬粛涓涓妗嗘灦锛欸rab锛氭槸寰堟祦琛岀殑娓愯繘寮忔鏋讹紝Grab鍙互璇存槸鐖櫕鐣岀殑娓愯繘寮忔鏋...
  • Python鍑犵涓绘祦妗嗘灦姣旇緝
    绛旓細webpy: 杞婚噺绾х殑Python Web妗嗘灦 webpy鐨勮璁$悊蹇靛姏姹傜簿绠锛圞eep it simple and powerful锛夛紝婧愮爜寰堢畝鐭紝鍙彁渚涗竴涓鏋舵墍蹇呴』鐨勪笢瑗匡紝涓嶄緷璧栧ぇ閲忕殑绗笁鏂规ā鍧楋紝瀹冩病鏈塙RL璺敱銆佹病鏈夋ā鏉夸篃娌℃湁鏁版嵁搴撶殑璁块棶銆係crapy锛Python鐨勭埇铏鏋 Scrapy鏄竴涓浣跨敤Python缂栧啓鐨勶紝杞婚噺绾х殑锛岀畝鍗曡交宸э紝骞朵笖浣跨敤璧锋潵闈炲父...
  • Python浠涔堢埇铏搴撳ソ鐢?
    绛旓細濡傛灉绋嬪簭鍙互鍦ㄧ瓑寰呯殑杩囩▼涓仛涓浜涘叾浠栫殑浜嬫儏锛屽杩涜璇锋眰鐨勮皟搴︼紝鍝嶅簲鐨勫鐞嗙瓑锛岄偅涔鐖櫕鐨勬晥鐜囧氨浼氭瘮涔嬪墠鐨勯偅绉嶆柟寮忔湁寰堝ぇ鐨勬彁鍗囥 鑰宎iohttp灏辨槸杩欐牱涓涓彁渚涘紓姝eb鏈嶅姟鐨勫簱銆浣跨敤璇磋繖涓簱鐢ㄨ捣鏉ヨ繕鏄浉褰撴柟渚跨殑銆傝В鏋愬簱锛1.lxml lxml鏄python鐨涓涓В鏋愬簱锛岃繖涓簱鏀寔HTML鍜寈ml鐨勮В鏋愶紝鏀寔XPath鐨勮В鏋...
  • 扩展阅读:爬虫一单多少钱 ... 为什么爬虫会坐牢 ... 学python后到底能干什么 ... 学python爬虫必装软件 ... 十大爬虫框架排行榜 ... 爬虫python全套教程 ... 新手怎么入门python爬虫 ... 靠谱的python爬虫 ... java的爬虫框架 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网