TypeError:'float'对象不可迭代我正在使用scrapy和python 3.5

时间:2017-03-07 03:14:37

标签: python scrapy

我的scrapyspider有问题,它使用以下代码:

class MySpider(BaseSpider):
    name = "craig"
    allowed_domains = ["craigslist.org"]
    start_urls = ["http://sfbay.craigslist.org/search/npo"]

    def parse(self, response):
    hxs = HtmlXPathSelector(response)
    titles = hxs.xpath("//span[@class='pl']")
    items = []
    for i in titles:
        item = CraigslistSampleItem()
        item["title"] = i.select("a/text()").extract()
        item["link"] = i.select("a/@href").extract()
        items.append(item)
    return items

这是我的items.py

from scrapy.item import Item, Field

class CraigslistSampleItem(Item):
    title = Field()
    link = Field()

当我使用scrapy crawl craig运行蜘蛛时,我收到以下错误:

TypeError: 'float' object is not iterable
2017-03-07 10:13:44 [scrapy.core.scraper] ERROR: Error downloading <GET http://sfbay.craigslist.org/search/npo>
TypeError: 'float' object is not iterable

我该如何解决这个问题? 感谢

1 个答案:

答案 0 :(得分:5)

使用scrapy安装conda后,我遇到了类似的错误,导致获得scrapy版本1.1和twisted版本17.1.0。

我认为scrapy版本低于1.3.2和twisted版本17.x之间存在不兼容性。我可以通过将twisted降级到版本16.x或将scrapy升级到版本1.3.3来解决此问题。