找不到蜘蛛屑

2024-10-01 15:40:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想重现这次演讲的内容:

https://www.youtube.com/watch?v=eD8XVXLlUTE

当我试图运行蜘蛛时:

scrapy crawl talkspider_basic

我有个错误:

^{pr2}$

蜘蛛的代码是:

from scrapy.spiders import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.contrib.linkextractors.sgml import  SgmlLinkExtractor
from scrapy.contrib.loader import XPathItemLoader
from pytexas.items import  PytexasItem

class TalkspiderBasicSpider(BaseSpider):
    name = "talkspider_basic"
    allowed_domains = ["www.pytexas.org"]
    start_urls = ['http://wwww.pytexas.org/2013/schedule']

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        dls = hcs.select('///dl')
        for dl in dls:
            times = dl.select('dt/text()').extract()
            titles = dl.select('dd/a/text()').extract()
            for time, title in zip(times,titles):
                title = title.strip()
                yield PytexasItem(title=title,time= time)

项目代码为:

from scrapy.item import Item, Field

class PytexasItem(Item):
    title = Field()
    time = Field()
    speaker = Field()
    description = Field()

项目和蜘蛛文件的名称是

pytexas

以及

talk_spider_basic.py

所以我不认为这两个名字有什么冲突。在

编辑:

它具有默认结构:

pytexas/     
  scrapy.cfg    
  pytexas/    
    items.py   
    pipelines.py   
    settings.py   
    spiders/   
      __init__.py   
      talk_spider_basic.py    

Tags: frompyimportfieldbasictimetitlewww
3条回答

根据Github问题#2254。因为某个模块不推荐。比如发痒的。在

所以你应该做些改变。在

发件人:

from scrapy.contrib.linkextractors.sgml import  SgmlLinkExtractor
from scrapy.contrib.loader import XPathItemLoader

收件人:

^{pr2}$

我知道这个帖子可能已经过时了。但我发现了另一个问题,这可能会产生错误“spider not found”。我把蜘蛛组织在文件夹中,例如<crawler-project>/spiders/full<crawler-project>/spiders/clean。所以我创建了一个新的目录-<crawler-project>/spiders/aaa-在其中我放置了新的spider。直到我创建了__init__.py文件,scrapy才发现这个新蜘蛛。因此,如果要在文件夹中组织蜘蛛,应该创建有效的python模块文件夹。在

在某些情况下,一个可行的解决方案是降低你的垃圾等级(如果它是>;=1.3)。为此,可以运行以下命令:

pip install scrapy==1.2

相关问题 更多 >

    热门问题