基于 Scrapy-redis 的分布式爬虫详细设计

论坛 期权论坛     
选择匿名的用户   2021-5-23 17:02   791   0
<div class="blogpost-body" id="cnblogs_post_body">
<h1 class="title">基于 Scrapy-redis 的分布式爬虫设计</h1>
<div class="author">
   
</div>
<div class="show-content">
  <div class="show-content-free">
   <h2>目录</h2>
   <ul><li><a href="https://www.jianshu.com/p/cd4054bbc757/">前言</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">安装</a>
     <ul><li><a href="https://www.jianshu.com/p/cd4054bbc757/">环境</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">Debian / Ubuntu / Deepin 下安装</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">Windows 下安装</a></li></ul></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">基本使用</a>
     <ul><li><a href="https://www.jianshu.com/p/cd4054bbc757/">初始化项目</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">创建爬虫</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">运行爬虫</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">爬取结果</a></li></ul></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">进阶使用</a>
     <ul><li><a href="https://www.jianshu.com/p/cd4054bbc757/">分布式爬虫</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">anti-anti-spider</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">URL Filter</a></li></ul></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">总结</a></li><li><a href="https://www.jianshu.com/p/cd4054bbc757/">相关资料</a></li></ul>
   <hr>
   <h2>前言</h2>
   <p>在本篇中,我假定您已经熟悉并安装了 Python3。 如若不然,请参考 <a href="https://link.jianshu.com/?t&#61;http://www.pythondoc.com/pythontutorial3/index.html">Python 入门指南</a>。</p>
   <h3>关于 Scrapy</h3>
   <blockquote>
    <p>Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。</p>
   </blockquote>
   <blockquote>
    <p>其最初是为了 网络抓取 所设计的, 也可以应用在获取 API 所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。</p>
   </blockquote>
   <h4>架构概览</h4>
   <div class="image-package">
    <div class="image-container">
     <div class="image-container-fill">
      
     </div>
     <div class="image-view">
      <img alt="" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-c73b0e31f662e7e8a41e8115b2b23fc1.png">
     </div>
    </div>
    <div class="image-caption">
     Paste_Image.png
    </div>
   </div>
   <hr>
   <h2>安装</h2>
   <h3>环境</h3>
   <p>  </p>
   <div class="cnblogs_code">
    <pre class="blockcode">Redis 3.2.5<span style="color:#000000;">
Python </span>3.5.2<span style="color:#000000;">
    Scrapy </span>1.3.3<span style="color:#000000;">
    scrapy</span>-redis 0.6.8<span style="color:#000000;">
    redis</span>-py 2.10.5<span style="color:#000000;">
    PyMySQL </span>0.7.10<span style="color:#000000;">
    SQLAlchemy </span>1.1.6</pre>
   </div>
   <p> </p>
   <h3>Debian / Ubuntu / Deepin 下安装</h3>
   <p><em>安装前你可能需要把 Python3 设置为默认的 Python 解释器,或者使用 virtualenv 搭建一个 Python 的虚拟环境,篇幅有限,此处不再赘述。</em></p>
   <h4>安装 Redis</h4>
   <div class="cnblogs_code">
    <pre class="blockcode">sudo apt-get install redis-server</pre>
   </div>
   <p> </p>
   <h4>安装 Scrapy</h4>
   <div class="cnblogs_code">
    <pre class="blockcode">sudo apt-get install build-essential libssl-dev libffi-dev python-<span style="color:#000000;">dev
sudo apt install python3</span>-<span style="color:#000000;">pip
sudo pip install scrapy scrapy</span>-reids</pre>
   </div>
   <p> </p>
   <h4>安装 scrapy-redis</h4>
   <div class="cnblogs_code">
    <pre class="blockcode">sudo pip install scrapy-reids</pre>
   </div>
   <p> </p>
   <h3>Windows 下安装</h3>
   <p>由于目前 Python 实现的一部分第三方模块在 Windows 下并没有可用的安装包,个人并不推荐以 Windows 作为开发环境。</p>
   <p>如果你非要这么做,你可能会遇到以下异常:</p>
   <ul><li>ImportError: DLL load failed: %1 不是有效的 Win32 应用程序
     <ul><li>这是由于你安装了 64 位的 Python,但却意外安装了 32 位的模块</li></ul></li><li>Failed building wheel for cryptography
     <ul><li>你需要升级你的 pip 并重新安装 cryptography 模块</li></ul></li><li>ERROR: &#39;xslt-config&#39; is not recognized as an internal or external command,<br>operable program or batch file.
     <ul><li>你需要从 lxml 的官网下载该模块编译好的 exe 安装包,并用 easy_install 手动进行安装</li></ul></li><li>ImportError: Nomodule named win32api
     <ul><li>这是个 Twisted bug ,你需要安装 pywin32 。</li></ul></li></ul>
   <p>如果你还没有放弃,以下内容可能会帮到你:</p>
   <ul><li><a href="https://link.jianshu.com/?t&#61;http://www.cnblogs.com/silverbullet11/p/4966608.html">Windows上Python3.5安装Scrapy(lxml)</a></li><li><a href="https://link.jianshu.com/?t&#61;http://cuiqingcai.com/912.html">Python爬虫进阶三之Scrapy框架安装配置</a
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP