为了账号安全,请及时绑定邮箱和手机立即绑定
  • 1111
    查看全部
  • 将爬虫得到的item保存到CSV文件中

    scrapy crawl spider -o test.csv

    查看全部
    0 采集 收起 来源:保存数据

    2019-10-22

  • 当在spider模块中有需要解析的新的URL请求时

    yield scrapy.Request(url, callback = self.parse)

    查看全部
  • 3。6
    查看全部
  • Scrapy项目注意事项

    查看全部
  • 爬虫伪装:设置代理IP 在middleware中编写,settings中也要开启

    查看全部
  • Scrapy框架

    http://img1.sycdn.imooc.com//5d93434c0001fb1010700786.jpg

    查看全部
  • 开发环境

    • cent os 6.0

    • Python 3.6

    • Scrapy 1.5

    • MongoDB 3.6

    • Pycharm

    课程大纲

    http://img1.sycdn.imooc.com//5d9317d100013dd709040756.jpg

    查看全部
  • scrapy crawl spider名

    settings.py中要设置USER_AGENT,其值可以通过浏览器的F12中查找获取(Request Headers)

    查看全部
  • 爬虫伪装方法:动态user-agent

    查看全部
  • request.meta['proxy'] = 'http-cla.abuyun.com:9030'

    如果按照视频中的写,其他都一样,运行main.py,那么会提示如下错误。

     File "/home/ubuntu16/.local/lib/python3.5/site-packages/twisted/web/client.py", line 1513, in endpointForURI

        raise SchemeNotSupported("Unsupported scheme: %r" % (uri.scheme,))

    twisted.web.error.SchemeNotSupported: Unsupported scheme: b''

    解决方法:request.meta['proxy'] = 'http://http-cla.abuyun.com:9030'

    即加上http://就可以了


    查看全部
  • 数据存储

    json格式

    scrapy crawl douban_spider -o teset.json

    csv格式

    scrapy crawl douban_spider -o teset.csv

    mongodb

    settings文件定义mongo变量

    mongo_host = '192.168.186.129'

    mongo_port = 27017

    mongo_db_name = 'douban'

    mongo_db_collection = 'douban_movie'

    安装pymongo

    yum -y install pymongo

    编辑pipelines文件

    开头增加代码

    import pymongo

    from douban.settings import mongo_host, mongo_port, mongo_db_name, mongo_db_collection

    在类DouanPipeline下增加方法__init__

    def __init__(self):

        host = mongo_host

        port = mongo_port

        dbname = mongo_db_name

        sheetname = mongo_db_colleciton

        client = pymongo.MongoClient(host=host, port=port)

        mydb = client[dbname]

        self.post = mydb[sheetname]

    在settings文件打开ITEM_PIPELINES


    查看全部
    0 采集 收起 来源:保存数据

    2019-09-15

  • 安装sqlite

    yum -y install sqlite*

    重新编译python

    修改setttings文件

    USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3627.0 Safari/537.36'

    命令行启动spider

    scrapy crawl douban_spider


    查看全部
  • 配置yum源

    vi /etc/yum.repos.d/mongo.repo

    粘贴

    [mongodb-org-4.0]

    name=MongoDB Repository

    baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.0/x86_64/

    gpgcheck=1

    enabled=1

    gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

    清理安装源

    yum clean all

    安装mongodb

    yum -y intall mongodb-org

    修改mongodb配置

    vi /etc/mongod.conf

    bindIp: 自己服务器的IP地址或者0.0.0.0

    把bindIP设置为0.0.0.0(表示监听所有的网口地址)

    启动mongodb服务

    service mongod start


    添加mongodb的yum源

    yum clear all

    yum -y install mongodb-org

    vim /etc/mongod.conf

    修改bindIp

    /etc/init.d/mongod restart

    开放27017端口


    查看全部
  • Scrapy框架:

    Scrapy Engine: Scrapy引擎,负责Spiders,ItemPipline,Scheduler,Downloader中间的通信信号和数据的传递,相当于是一个交通站。

    Scheduler: Scrapy的调度器,就是一个队列,负责接收引擎发送过来的request请求,然后将请求排队,当引擎需要请求数据的时候,就将请求队列中的数据交给引擎。

    Downloader: Scrapy的下载器,负责发送请求并下载数据,负责下载引擎发送过来的所有request请求,并将获取到的response交还给引擎,然后再由引擎将response交给Spiders来进行解析。

    Spiders: Scrapy的爬虫,它是一个正则表达式组价,里面包含很多解析策略,用于分析和提取数据,负责处理所有的response,而如果response包含有其他请求,此时Spiders会将这个请求提交给引擎,再由引擎将这些url再次扔到Scheduler进行处理。

    Item Pipeline: Scrapy的管道,用于封装去重类,存储类的地方,负责处理Spiders中获取到的数据,并且进行后期的处理,过滤或者存储等。

    Downloader Middlewares: 下载中间件,自定义扩展组件,就是封装代理或者http请求头用于隐藏我们自己。

    Spider Middlewares: 爬虫中间件,可以自定义扩展引擎Spiders的中间通信功能的组件,比如进入Spiders的response和从Spders出去的request,它可以在中间做一些修改。


    查看全部

举报

0/150
提交
取消
课程须知
1、具有一定的Python基础 2、具有一定的linux系统管理基础,编译安装软件,yum包管理工具等 3、具有一定的Mongdb数据库管理基础,增删改查
老师告诉你能学到什么?
1、scrapy框架简介、数据在框架内如何进行流动 2、scrapy框架安装、mongodb数据库安装 3、scrapy抓取项目如何创建 4、scrapy抓取项目如何进行数据解析 5、scrapy抓取项目如何绕过反爬机制抓取数据 6、scrapy抓取项目如何存储数据到不同的格式

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!