豆瓣爬虫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中的代码好像仅仅是返回了一个地址而已。

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