Python开源网络爬虫或网络蜘蛛scrapy入门遇到问题

本文详细阐述了在使用Scrapy爬虫框架时,因疏忽导致代码错误,并误以为是Twisted模块版本问题。通过对比中文与英文示例,分析并解决了实际问题是代码逻辑错误而非版本不兼容。文章强调了错误提示可能存在的误导性,提醒开发者深入理解代码逻辑而非仅依赖错误提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

踏过千山万水,峰回路转,终于装上了scrapy爬虫构架。接着参照网上写一个demo。

中文demo:http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.html

英文原创demo:http://doc.scrapy.org/en/0.16/intro/tutorial.html


由于疏忽,在spider目录下的蜘蛛程序中,有那么一段代码:

filename = response.url.split("/")[-2]
敲入时少了后面的 [-2],于是

filename = response.url.split("/")
然后运行,问题就来了


一下子被吓倒了,貌似问题出现在Twisted模块,是不是装Twisted版本不对导致的。Google一下,找到有类似的问题,按网上做,还是没解决。此时已经严重怀疑是Twisted版本问题导致的,不过这时还不想重装Twisted,毕竟太麻烦了。于是到英文scrapy.org网站找scrapy demo例子。照搬下来,居然可以正常运行了!!!此时证明不是Twisted版本问题,发现自己代码少了[-2]的缘故。分析一下,可能是open()这个函数是继承Twisted的open(),从而错误提示指向Twisted模块。这种错误提示没什么价值,反而有很大的误导性。

所以啊,有时候程序的错误提示并不是问题的真正所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值