Python2.7搭建的scrapy框架改用Python3.5运行scrapy

Python2.7搭建的scrapy框架改用Python3.5新建工程运行旧爬虫

1.爬虫脚本中urlparse模块已经在Python3中合并为urllib,此时改为import urllib,函数调用此前的urlparse.urljoin改为urllib.parse.urljoin此时对于网页URL地址的操作就恢复预期了
脚本中调用的set函数也不需导入了,在Python3中,集合函数已归为Python的内建函数,可以直接使用
2.items脚本中定义的对象不需要修改,本身调用的类名在爬虫脚本中可用,但在爬虫脚本中导入items模块中定义的对象时,需要根据建立的工程名来更改导入的模块名,保证导入现工程名.items
3.pipelines脚本中同2一样要更改导入模块的工程名对应正确,同时保证在脚本中定义的对象名称与settings脚本中调用pipelines时的名称一致
4.settings脚本中调用的中间件名称应改为与现工程名下对应的中间件名称,同时导入的ConfigParser在Python3已改为configparser,仍是一种配置模块,在此脚本中调用方式也不需变化
5.启用现工程爬虫时,报出的Module scrapy.conf is deprecated, use crawler.settings attribute instead from scrapy.conf import settings类似这样的或者未找到的错误
是由于scrapy从1.7版本后就不再使用scrapy.conf文件了,此时可用from scrapy.utils.project import get_project_settings并在函数中重新定义一个变量settings = get_project_settings(),保证其他均不用变,此时即可运行

以上为个人笔记,其中的深层缘由暂未了解,其中的解决方法来源于网上各位大佬的解答分享和自己的推测和实践得来,若有不对的地方,请大家指教,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值