5.分布式爬虫

scrapy-shell

  • https://segmentfault.com/a/1190000013199636?utm_source=tag-newest
  • shell
  • 启动
    • Linux: ctr+T,打开终端,然后输入scrapy shell “url:xxxx”
    • windows: scrapy shell “url:xxx”
    • 启动后自动下载指定url的网页
    • 下载完成后,url的内容保存在response的变量中,如果需要,我们需要调用response
  • response
    • 爬取到的内容保存在response中给
    • response.body是网页的代码
    • resposne.headers是返回的http的头信息
    • response.xpath()允许使用xpath语法选择内容
    • response.css()允许使用css语法选区内容
  • selector
    • 选择器,允许用户使用选择器来选择自己想要的内容
    • response.selector.xpath: response.xpath是selector.xpath的快捷方式
    • response.selector.css: response.css是他的快捷方式
    • selector.extract:把节点的内容用unicode形式返回
    • selector.re:允许用户通过正则选区内容

分布式爬虫

  • 单机爬虫的问题:

    • 单机效率
    • IO吞吐量
  • 多爬虫问题

    • 数据共享
    • 在空间上不同的多台机器,可以成为分布式
  • 需要做:

    • 共享队列
    • 去重
  • Redis

    • 内存数据库
    • 同时可以落地保存到硬盘
    • 可以去重
    • 可以把他理解成一共dict,set,list的集合体
    • 可以对保存的内容进行生命周期控制
  • 内容保存数据库

    • MongoDB
    • Mysql等传统关系数据库
  • 安装scrapy_redis

推荐书籍

  • Python爬虫开发与项目实战, 范传辉, 机械工业出版社
  • 精通 python爬虫框架scrapy, 李斌 翻译, 人民邮电出版社
  • 崔庆才,
发布了62 篇原创文章 · 获赞 44 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhizunmimi/article/details/83852817