分布式爬虫以及语言介绍

分布式爬虫

"""
# 1 安装pip3 install scrapy-redis

# 源码部分,不到1000行,
    
# 1 原来的爬虫继承
from scrapy_redis.spiders import RedisSpider
class CnblogsSpider(RedisSpider):
  	#start_urls = ['http://www.cnblogs.com/']
    redis_key = 'myspider:start_urls'
    
# 2 在setting中配置
  SCHEDULER = "scrapy_redis.scheduler.Scheduler"
  DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
  ITEM_PIPELINES = {
     'scrapy_redis.pipelines.RedisPipeline': 300
  }
    
  REDIS_HOST = 'localhost'
  REDIS_PORT = '6379'

  REDIS_PARAMS = {
    'password': 'Admin123',  # 改成你自己的密码
   }
# 3 多台机器上启动scrapy
# 4 向reids中发送起始url
lpush myspider:start_urls https://www.cnblogs.com

"""

语言补充

"""
# 编译型语言和解释型语言
# python,js,php 解释型: 一定要有个解释器 (全都夸平台,在不同平台装不通平台的解释器即可)
# 编译型语言:c,c++   java(有人说是编译型,有人说是解释型)
	-java:jdk,jre,jvm(三个分别是啥)
  	-jdk:java开发环境(开发人员要装)
    -jre:java运行环境(要运行java程序,必须装)
    -jvm:java虚拟机,所有的java程序必须运行在虚拟机之上
    -java对外发布:跨平台,一处编码,处处运行(1990年)
    -java编译----》字节码文件(.class文件)----》字节码文件在jvm上运行---》在不同平台装不通java虚拟---》实现了跨平台
    -java:1.5---》古老   1.6 1.7 ---》java 8(用的还比较多)---》java9 ---》java13
    
  -c语言:写完了,想在windwos下运行----》跑到windows机器下编译成可执行文件
  					   -想在linux下运行----》跑到linux机器下编译成可执行文件
   			-linux上装python环境(源码安装,make,make install)
  -go编译型:跨平台编译(在windows上可以编译出linux下可执行文件)---》2009年--》微服务
  	-所有代码都编译成一个可执行文件(web项目---》编译之后---》可执行文件---》丢到服务器就能执行,不需要安装任何依赖)
	-java要运行---》最低最低要跑在java虚拟机之上(光jvm要跑起来,就占好几百m内存)---》
	-安卓手机app--java开发的---》你的安卓手机在上面跑了个jvm
  
  -go:就是个可执行文件(go的性能比java高,他俩不相上下),阿里:自己写了jvm
  -安卓:谷歌,---->当时那个年代,java程序员多---》java可以快速转过去---》
  -谷歌:Kotlin:---》用来取代java---》写安卓---》在国际上排名比go高
  -同年ios/mac软件:object-c-----》swift(苹果的一个工程师,没事的时候,写的一个语言)---》过了没几年,跳槽去了facebook----》
  
  -java:sun公司出的,后来被甲骨文收购了,开始恶心人---》把java做成收费---》一门收费
  -c#:微软的:一开始收费,比java要好,没人用,免费,开源了,也没人用
  
  -java se  java ee  java me
  
  -python写的代码,用打包工具,打包成exe----》把代码和解释器统统打包到exe中了
  -垃圾回收机制:挺高端
  
"""
原文地址:https://www.cnblogs.com/yafeng666/p/12688086.html