我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python分布式爬虫--房天下

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python分布式爬虫--房天下

第一步安装redis

redis在windows系统中的安装与启动:

  1. 下载:redis官方是不支持windows操作系统的。但是微软的开源部门将redis移植到了windows上。因此下载地址不是在redis官网上。而是在github上:https://github.com/MicrosoftArchive/redis/releases。
  2. 安装:点击一顿下一步安装就可以了。
  3. 运行:进入到redis安装所在的路径然后执行redis-server.exe redis.windows.conf就可以运行了。
  4. 连接:redismysql以及mongo是一样的,都提供了一个客户端进行连接。输入命令redis-cli(前提是redis安装路径已经加入到环境变量中了)就可以连接到redis服务器了。

其他机器访问本机redis服务器:

想要让其他机器访问本机的redis服务器。那么要修改redis.conf的配置文件,将bind改成bind [自己的ip地址或者0.0.0.0],其他机器才能访问。
注意:bind绑定的是本机网卡的ip地址,而不是想让其他机器连接的ip地址。如果有多块网卡,那么可以绑定多个网卡的ip地址。如果绑定到额是0.0.0.0,那么意味着其他机器可以通过本机所有的ip地址进行访问。

redis的操作

redis的操作可以用两种方式,第一种方式采用redis-cli,第二种方式采用编程语言,比如PythonPHPJAVA等。

  1. 使用redis-cliredis进行字符串操作:

  2. 启动redis

      sudo service redis-server start
    
  3. 连接上redis-server
      redis-cli -h [ip] -p [端口]
    
  4. 添加:

      set key value
      如:
      set username xiaotuo
    

    将字符串值value关联到key。如果key已经持有其他值,set命令就覆写旧值,无视其类型。并且默认的过期时间是永久,即永远不会过期。

  5. 删除:

      del key
      如:
      del username
    
  6. 设置过期时间:

      expire key timeout(单位为秒)
    

    也可以在设置值的时候,一同指定过期时间:

      set key value EX timeout
      或:
      setex key timeout value
    
  7. 查看过期时间:

      ttl key
      如:
      ttl username
    
  8. 查看当前redis中的所有key

      keys *

第二步创建项目

第三步设置settings.py文件

 

在middlewares.py文件添加以下内容

# -*- coding: utf-8 -*-

# Define here the models for your spider middleware
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/spider-middleware.html

import random

class UserAgentDownloadMiddleware(object):
    # user-agent随机请求头中间件
    USER_AGENTS = [
        'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50',
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
        'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)',
        'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv,2.0.1) Gecko/20100101 Firefox/4.0.1',
        'Mozilla/5.0 (Windows NT 6.1; rv,2.0.1) Gecko/20100101 Firefox/4.0.1'
    ]
    def process_request(self,request,spider):
        user_agent = random.choice(self.USER_AGENTS)
        request.headers['User-Agent'] = user_agent

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python分布式爬虫--房天下

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python分布式爬虫--房天下

第一步安装redisredis在windows系统中的安装与启动:下载:redis官方是不支持windows操作系统的。但是微软的开源部门将redis移植到了windows上。因此下载地址不是在redis官网上。而是在github上:htt
2023-01-30

Python爬虫教程-34-分布式爬虫介

Python爬虫教程-34-分布式爬虫介绍分布式爬虫在实际应用中还算是多的,本篇简单介绍一下分布式爬虫什么是分布式爬虫分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集。单机爬虫就是只在一台计算机上的爬虫。其实搜索引擎都是爬虫,负责从
2023-01-30

python爬虫中分布式爬虫的作用是什么

这篇文章给大家分享的是有关python爬虫中分布式爬虫的作用是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。随着大数据时代的来临,大数据也吸引了越来越多的关注。网络爬虫是一种高效的信息抓取工具,它集成了搜索引
2023-06-15

主从分布式爬虫

为什么要用分布式爬虫学习爬虫已经有一段时间了,之前的爬虫都是一个python文件就实现的,没考虑性能,效率之类的。所以作为一个合格的spider,需要学习一下分布式爬虫。什么分布式爬虫?简单地说就是用多台服务器去获取数据,让这些服务器去协同
2023-01-31

Python爬虫基础--分布式爬取贝壳网

1. server_code012. server_code023. server_code03
2023-01-30

什么是分布式爬虫

这篇文章主要讲解了“什么是分布式爬虫”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是分布式爬虫”吧!大数据时代已经到来,与爬虫者春天相伴而至。1、分布式爬虫就是多台计算机上都安装爬虫程序
2023-06-25

深入理解Python分布式爬虫原理

首先,我们先来看看,如果是人正常的行为,是如何获取网页内容的。(1)打开浏览器,输入URL,打开源网页(2)选取我们想要的内容,包括标题,作者,摘要,正文等信息(3)存储到硬盘中 上面的三个过程,映射到技术层面上,其实就是:网络请求,抓取结
2022-06-04

基于java的分布式爬虫

【本文转自博客园 作者:张锋 原文链接:https://www.cnblogs.com/skyme/p/4440831.html】分类分布式网络爬虫包含多个爬虫,每个爬虫需要完成的任务和单个的爬行器类似,它们从互联网上下载网页,并把网页
2023-06-05

Scrapy-redis爬虫分布式爬取的分析和实现

Scrapy Scrapy是一个比较好用的Python爬虫框架,你只需要编写几个组件就可以实现网页数据的爬取。但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求的并发数),这时候分布式爬
2022-06-04

Python 用Redis简单实现分布式爬虫的方法

Redis通常被认为是一种持久化的存储器关键字-值型存储,可以用于几台机子之间的数据共享平台。 连接数据库 注意:假设现有几台在同一局域网内的机器分别为Master和几个Slaver Master连接时host为localhost即本机的i
2022-06-04

基于hadoop的分布式爬虫怎么实现

要实现基于Hadoop的分布式爬虫,可以按照以下步骤进行:设计架构:首先需要设计分布式爬虫的架构,确定集群中各个节点的角色和任务分配。通常可以将爬虫任务分为链接提取、页面下载、页面解析和数据存储等步骤,并分配给不同的节点执行。数据存储:选择
基于hadoop的分布式爬虫怎么实现
2024-03-06

如何使用Scrapy-Redis实现分布式爬虫

Scrapy-Redis是一个Scrapy框架的插件,可以用于实现分布式爬虫。下面是使用Scrapy-Redis实现分布式爬虫的步骤:安装Scrapy-Redis插件:pip install scrapy-redis在Scrapy项目的se
如何使用Scrapy-Redis实现分布式爬虫
2024-05-15

分布式爬虫的搭建-糗事百科(案例)

1:scrapy-redis的工作原理    有相关scrapy经验者可仔细研究一些,无经验者可直接看下一节内容,等走完流程可在回头看    1,spider打开某网页,获取到一个或者多个request,经由scrapy engine传送给
2023-01-31

如何基于python分布式爬虫并解决假死的问题

这篇文章将为大家详细讲解有关如何基于python分布式爬虫并解决假死的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python版本:3.5.4系统:win10 x64通过网页下载视频方法一:使用ur
2023-06-14

怎么使用代理ip进行分布式爬虫

本篇内容主要讲解“怎么使用代理ip进行分布式爬虫”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用代理ip进行分布式爬虫”吧!用过优质的代理ip之后,还能不能不用担心担心?这件事不会那么简单
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录