python web 框架(八)-- Scrapy
參考:http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.html
一、簡介:
Scrapy,Python開發的一個快速,高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結構化的數據。Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試。 ? Scrapy,吸引人的地方在于它是一個框架,任何人都可以根據需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持。
Scrapy,一個為遍歷爬行網站、分解獲取數據而設計的應用程序框架,它可以應用在廣泛領域:數據挖掘、信息處理和或者歷史片(歷史記錄)打包等等 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? Scrapy,原本是設計用來屏幕抓取(更精確的說,是網絡抓取)的目的,但它也可以用來訪問API來提取數據,比如Amazon的AWS或者用來當作通常目的應用的網絡蜘蛛
二、安裝:
環境:linux、ubuntu 方法:easy_install scrapy ? ? ? ? ? ? ? ??
三、入門實例:
1、創建scrapy project:
mkdir /opt/program/python/myScrapy cd /opt/program/python/myScrapy scrapy startproject tutorial2、生成的目錄結構:
root@jeff:/opt/program/python/myScrapy# tree tutorial/ tutorial/ ├── scrapy.cfg#相關配置文件 └── tutorial #相關代碼 ├── Books├── __init__.py ├── __init__.pyc├── items.py ├── pipelines.py├── Resources├── settings.py├── settings.pyc└── spiders#spiders目錄 ├── Books├── dmoz_spider.py├── dmoz_spider.pyc├── __init__.py├── __init__.pyc└── Resources2 directories, 15 files3、編輯items.py
個人理解:類似django框架中的model,用來架構需要處理的數據
from scrapy.item import Item, Field class DmozItem(Item):title = Field()link = Field()desc = Field()4、創建爬蟲
1)編輯?/opt/program/python/myScrapy/tutorial/tutorial/spiders/my_spider.py
from scrapy.spider import BaseSpiderclass DmozSpider(BaseSpider):name = "spider_name"allowed_domains = ["some.org"]start_urls = ["http://...","http://...", ]def parse(self, response):filename = response.url.split("/")[-2]open(filename, 'wb').write(response.body)5、使用爬蟲:
root@jeff:/opt/program/python/myScrapy/tutorial/tutorial/spiders# scrapy crawl spider_name?
轉載于:https://www.cnblogs.com/thinbottle/archive/2013/04/11/3014061.html
總結
以上是生活随笔為你收集整理的python web 框架(八)-- Scrapy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 线程与线程池
- 下一篇: websocket python爬虫_p