• 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 tutorial

      2、生成的目录结构:

    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
            └── Resources
    
    2 directories, 15 files

      3、编辑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 BaseSpider
    
    class 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
  • 相关阅读:
    springcloud:Eureka的使用
    使用tomcat脚本开启服务
    安装Mysql
    springcloud:RPC和HTTP
    vue elementui点击表格当前行radio单选选中
    启动easy-mock
    项目使用的注解
    vue在element-ui的dialog弹出框中加入百度地图
    【转载】linux查看端口状态相关命令
    【记录】linux 文件权限的查看和修改
  • 原文地址:https://www.cnblogs.com/thinbottle/p/3014061.html
Copyright © 2020-2023  润新知