zoukankan      html  css  js  c++  java
  • Scrapy框架初探

    Scrapy 貌似是 Python 最出名的爬虫框架

    0. 文档##

    中文文档:https://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
    官方文档:https://docs.scrapy.org/en/latest/
    中文文档很旧了,建议直接看官方英文文档。

    1. 安装##

    pip install scrapy
    

    还有什么不是这么装的吗。。

    2. 新建项目##

    scrapy startproject <projectname>
    

    非常简单,进入你要放项目的目录,一行命令scrapy自动帮你生成项目框架文件,结构如下:

    tutorial/
    scrapy.cfg            # 框架配置文件
    
    tutorial/             # 整个项目目录
        __init__.py
    
        items.py          # 数据结构在这里定义
    
        pipelines.py      # 管道处理
    
        settings.py       # 项目配置文件
    
        spiders/          # 爬虫目录
            __init__.py
    

    3. 流程介绍##

    • items.py 定义你所爬取的目标数据的结构。比如你要抓取贴吧,那么结构应该类似 用户-头像-主帖id-帖子id-帖子内容-其他等等。如果抓取知乎,数据结构应该类似 用户-头像-签名-回答-问题id-点赞数-评论数。简单来说,就是设计表结构。
    • pipelines.py 按照设计者命名来分析,这个管道的作用是将抓取的数据进行一定的处理封装,里面内置的 parse_item 方法也从名字上印证这一点。比如抓到的是转码数据,在这里可以解码翻译。实际项目中通常在这里进行数据库落地操作,把抓取的 item 存入mysql或者mogodb,最后再 return item 即可。
    • spiders/xxx.spider.py 实际的爬虫策略都在这个目录下。一个文件表示一个爬虫。通常的流程是 初始链接(首页或者登录页) -- 分析内容,在回调中继续抓取下一页(执行登录操作) -- 继续分析内容,回调抓取... 这里我们不用考虑cookie,scrapy会自动帮我们处理。

    4. 小结##

    如果之前有用 urllib 进行过爬虫联系,那么只要熟悉了scrapy框架的各个文件作用,使用scrapy可以说是收到擒来.有几个参考方法:

    • post请求(登录用到): formRequest
    • 分析网页内容: response.css()
  • 相关阅读:
    Java中equals与==异同
    CGI与WSGI
    Javazh中static的简单理解
    MySQL 4.1/5.0/5.1/5.5各版本的主要区别
    php生成随机密码的几种方法
    phpmyadmin里MySQL字符集:cp1252 West European (latin1) ,解决乱码问题
    GoogleMap API 离线版
    [转]为前端开发人员制作的 Chrome 扩展 jsbeautifier
    Google Map Tile 下载脚本
    Google 地图 API 参考
  • 原文地址:https://www.cnblogs.com/dapianzi/p/7522173.html
Copyright © 2011-2022 走看看