主要是把项目从docker里面扒拉出来,但是扒拉完好像又没有什么用,放在docker里面运行多好。

源码下载
下面主要记一下改动的地方吧。


  1. 配置:在database.py中改掉自己的数据库配置。

  2. 表结构,直接运行可以通过。代码见链接内容。

  3. 异步存储还是不会改。

文件名


把spider中的类名改成和文件名相同,好像不碍事。

代理


  1. settings.py中找到
    DOWNLOADER_MIDDLEWARES = {
    'douban.middlewares.ProxyMiddleware': 543,
    }

    并打开注释;

  2. pipelines.py找到
    class ProxyMiddleware(object):
    def process_request(self, request, spider):
    # curl https://m.douban.com/book/subje 大专栏  豆瓣爬虫Scrapy“抄袭”改写ct/26628811/ -x http://127.0.0.1:8081
    request.meta['proxy'] = 'http://127.0.0.1:5010'
    # request.meta['proxy'] = 'http://10.0.0.164:1080'

    并将端口号改为5010.

这里的改动主要是因为我比较熟悉jhao104搭建的代理池并且稳定性还不错。

其他的好像只字未改。


目前这样做的好处是我可以自由调用我自己配置好的数据库,并且如果想要重新放入docker中仍然可以这样做。

仍然存在的几点疑问


  • 如果通过start_url获取到更多的URL。

  • 代理究竟是如何工作的?pipelines中的代码好像仅仅是返回了一个地址而已。

  • 数据库的异步存储如何进一步改写。

豆瓣爬虫Scrapy“抄袭”改写的更多相关文章

  1. 安装python爬虫scrapy踩过的那些坑和编程外的思考

    这些天应朋友的要求抓取某个论坛帖子的信息,网上搜索了一下开源的爬虫资料,看了许多对于开源爬虫的比较发现开源爬虫scrapy比较好用.但是以前一直用的java和php,对python不熟悉,于是花一天时 ...

  2. 网页爬虫--scrapy入门

    本篇从实际出发,展示如何用网页爬虫.并介绍一个流行的爬虫框架~ 1. 网页爬虫的过程 所谓网页爬虫,就是模拟浏览器的行为访问网站,从而获得网页信息的程序.正因为是程序,所以获得网页的速度可以轻易超过单 ...

  3. WebMagic的设计参考了业界最优秀的爬虫Scrapy

    http://webmagic.io/docs/zh/posts/ch1-overview/thinking.html https://github.com/psvehla/liferay-sprin ...

  4. python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)

    操作环境:python3 在上一文中python爬虫scrapy框架--人工识别知乎登录知乎倒立文字验证码和数字英文验证码(1)我们已经介绍了用Requests库来登录知乎,本文如果看不懂可以先看之前 ...

  5. python爬虫Scrapy(一)-我爬了boss数据

    一.概述 学习python有一段时间了,最近了解了下Python的入门爬虫框架Scrapy,参考了文章Python爬虫框架Scrapy入门.本篇文章属于初学经验记录,比较简单,适合刚学习爬虫的小伙伴. ...

  6. python爬虫scrapy项目详解(关注、持续更新)

    python爬虫scrapy项目(一) 爬取目标:腾讯招聘网站(起始url:https://hr.tencent.com/position.php?keywords=&tid=0&st ...

  7. 自己动手实现爬虫scrapy框架思路汇总

    这里先简要温习下爬虫实际操作: cd ~/Desktop/spider scrapy startproject lastspider # 创建爬虫工程 cd lastspider/ # 进入工程 sc ...

  8. 爬虫 scrapy 笔记

    scrapy 基础 1.  创建一个spider项目 a)         Scrapy startproject project_name [project_dir] b)         Cd p ...

  9. 第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

    第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多 ...

随机推荐

  1. 利用QRCoder生成二维码

    1.项目添加QRCoder.dll 和System.Drawing.dll的引用 2.创建二维码公共处理类(QRCoderHelper.cs) /// <summary> /// 二维码公 ...

  2. Java高级特性——注解,这也许是最简单易懂的文章了

    最近,浪尖在做flink的项目时source和sink的绑定那块用到了注解,当然新版本1.6以后就变为server load的方式加载. 但是浪尖也是觉得很有毕业讲一下注解,毕竟高级免试也会问答的吧. ...

  3. CSU-ACM2020寒假集训比赛2

    A - Messenger Simulator CodeForces - 1288E 两种解法,我选择了第二种 mn很好求,联系过就是1,没联系过就是初始位置 第一种:统计同一个人两次联系之间的出现的 ...

  4. Egret Engine 2D - 缩放模式和旋转模式说明

    缩放模式和旋转模式说明 缩放模式showAll 常用 noScale noBorder exactFit 次常用 fixedWidth fixedHeight fixedNarrow fixedWid ...

  5. zabbix监控oracle之orabbix安装

    zabbix服务器安装配置 zabbixserver中安装该软件 mkdir /opt/orabbix cp orabbix-1.2.3.zip /opt/orabbix cd /opt/orabbi ...

  6. list的泛型

    更新记录 [1]2020.02.12-21:26 1.完善内容 正文 在学习list集合时,我看到书上写list的格式时 List<E> list = new ArrayList<& ...

  7. ImportError: dynamic module does not define init function (initcaffe)

    https://github.com/BVLC/caffe/issues/2770 $ python2 -c "import caffe" Traceback (most rece ...

  8. webUploader多个实例

    webUploader上传图片插件一个页面多个实例多处使用

  9. python try-except处理异常的常用方法分析

    在写python程序时遇到异常想要进行处理时,可以使用try-except来处理,例如: try: 语句1 语句2 . . 语句N except .........: do something ... ...

  10. Java length、length()、size()区别

    1.length: 是一个 属性 针对的是 数组 得到的结果是 数组的长度 eg: String [] array = {"abc","def","g ...