当前位置: 首页 > news >正文

爬虫学习——使用HTTP服务代理、redis使用、通过Scrapy实现分布式爬取

一、使用HTTP服务代理

由于网络环境、网站对用户的访问速度的限制等原因,使得爬取过程会出现IP被封禁,故使用代理可提高爬取速度。在Scrapy中提供了一个HttpProxyMiddleware专门用于进行爬虫代理设置。在使用该代理进行爬取操作时,需要先在bash中设置好系统环境变量,然后使用该代理设置自动默认获取*****_proxy的路径作为代理路径此外,还可以实现使用多个代理。

二、redis使用

在Ubuntu中使用apt-get对redis进行安装。

其安装指令为:sudo apt-get install redis-server

其开启/重启、停止服务器指令为:sudo service redis-server start/restart/start

redis默认在127.0.0.1:6379上开启服务,可以使用netstat -ntl命令进行查询。如果想让其他的计算机被监听和访问,可以在redis配置文件/etc/redis/redis.conf中对监听地址进行修改和扩展,使用redis-cli-h IP地址 -p 端口号,来链接服务器;查看链接数据库是否成功使用PING,若返回PONG,则说明连接成功。相关redis的官方文档为:Redis - The Real-time Data Platform

redis支持五种Key类型:字符串、列表、字典,有序字典、哈希。此外,除了在ubuntu中可以使用redis,在python中也可使用redis,使用sudo pip install redis即可,然后import redis导入使用即可。

三、通过Scrapy实现分布式爬取

使用scrapy-redis实现分布式爬取,分布式的本质就是“人多力量大”,首先找到可以使用的多个LINIX主机并获取各主机的IP地址,然后在各个主机中安装scrapy和scrapy-redis

安装指令为:pip install scarpy;pip install scrapy-redis,从多个主机中选择一个作为供所有爬虫使用的redis数据库,并在该主机上安装redis-server;然后在redis配置文件(/etc/redis/redis.conf)中修改服务器的地址,确保该数据库能被所有的爬虫进行访问;然后重启redis服务器即可。然后测试多个主机能否访问设定为redis数据库的主机(redis-cli -h IP地址 ping,返回为PONG则说明连接成功)

相关文章:

  • kubernetes》》k8s》》Dashboard
  • 2025新版懒人精灵零基础及各板块核心系统视频教程-全分辨率免ROOT自动化开发
  • idea连接远程服务器kafka
  • MySQL:数据库设计
  • 主流操作系统对比分析(macOS、Linux、Windows、Unix)
  • GitHub万星项目维护者分享:开源协作的避坑指南
  • 【技术派后端篇】技术派中 Session/Cookie 与 JWT 身份验证技术的应用及实现解析
  • Trae+DeepSeek学习Python开发MVC框架程序笔记(一):1个程序实现MVC
  • R/G-B/G色温坐标系下对横纵坐标取对数的优势
  • Volcano 实战快速入门 (一)
  • Long类型封装Json传输时精度丢失问题
  • 每日Html 4.24
  • 关于Qt对Html/CSS的支持
  • Java中正则表达式使用方法
  • docker 配置代理
  • js 的call 和apply方法用处
  • Python - 爬虫-网页解析数据-库lxml(支持XPath)
  • 真.从“零”搞 VSCode+STM32CubeMx+C <1>构建
  • 明远智睿2351开发板:重塑嵌入式开发性价比新标杆
  • NC149KMP算法详解
  • 外交部否认中美就关税问题进行磋商谈判
  • 出发!陈冬、陈中瑞、王杰三名航天员领命出征
  • 中国海外宏洋集团:一季度经营溢利同比降48.6%,密切关注行业收并购机会等
  • 著名政治学学者、中国人民大学教授仝志敏逝世
  • 累计亏损10亿元,桂林旅游怎么了?
  • 美国海关新规致跨境包裹延误,DHL暂停超800美元对美个人货运