• 豆瓣爬虫Scrapy“抄袭”改写


    主要是把项目从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中的代码好像仅仅是返回了一个地址而已。

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

  • 相关阅读:
    数据结构-图
    web.xml的运行顺序
    如何把自己打造成技术圈的 papi 酱
    也谈http中get和post
    手机充电速度及电池使用
    web项目Log4j日志输出路径配置问题
    JAVA模块化
    关于web安全
    Struts2中通配符
    2016第14周一
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12375834.html
Copyright © 2020-2023  润新知