豆瓣爬虫Scrapy“抄袭”改写 文件名 代理 其他的好像只字未改。 仍然存在的几点疑问
主要是把项目从docker里面扒拉出来,但是扒拉完好像又没有什么用,放在docker里面运行多好。
源码下载
下面主要记一下改动的地方吧。
-
配置:在database.py中改掉自己的数据库配置。
-
表结构,直接运行可以通过。代码见链接内容。
-
异步存储还是不会改。
把spider中的类名改成和文件名相同,好像不碍事。
代理
- settings.py中找到
并打开注释;DOWNLOADER_MIDDLEWARES = { 'douban.middlewares.ProxyMiddleware': 543, }
- pipelines.py找到
并将端口号改为5010.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'
这里的改动主要是因为我比较熟悉jhao104搭建的代理池并且稳定性还不错。
其他的好像只字未改。
目前这样做的好处是我可以*调用我自己配置好的数据库,并且如果想要重新放入docker中仍然可以这样做。
仍然存在的几点疑问
-
如果通过start_url获取到更多的URL。
-
代理究竟是如何工作的?pipelines中的代码好像仅仅是返回了一个地址而已。
-
数据库的异步存储如何进一步改写。