我正在尝试使用scrapy抓取网站并将已删除的数据存储到项目类的变量中

  发布于 2023-01-29 14:54

我有一个蜘蛛文件dmoz_spider.py,它的对象是:

    from scrapy.spider import Spider
    from scrapy.selector import Selector
    from dmoz.items import DmozItem


    class DmozSpider(Spider):
       name = "dmoz"
       allowed_domains = ["m.timesofindia.com"]
       start_urls = ["http://m.timesofindia.com/india/Congress-BJP-spar-over-Gujarat-govts-Rs-11-per-day-poverty-line/articleshow/29830237.cms"]

       def parse(self, response):
            sel = Selector(response)
                torrent = DmozItem()
                filename = response.url.split("/")[-2]+"1.txt"
            torrent['link']  = response.url
            torrent['title']  = sel.xpath("//h1/text()").extract() 
                open(filename, 'wb').write(torrent['link'])

第二个文件是items.py

   from scrapy.item import Item, Field

     class DmozItem(Item):
        title = Field()
        link = Field()
        desc = Field()

当我运行我的爬虫时,我在命令行上遇到以下错误...

ImportError:没有名为dmoz.items的模块

至于什么时候我从我的蜘蛛文件中删除了import语句,它给了我错误的说法

exceptions.NameError:未定义全局名称'DmozItem'

Yogesh D.. 7

我发现问题并将其发布,以便如果任何人最终遇到类似的问题,他就可以得到答案.

在我的代码中,我正在这样做

 from dmoz.items import DmozItem

它应该是

 from tutorial.items import DmozItem or

 from tutorial.items import *

因为我的项目目录或包名是教程这是我之前做的错误.

1 个回答
  • 我发现问题并将其发布,以便如果任何人最终遇到类似的问题,他就可以得到答案.

    在我的代码中,我正在这样做

     from dmoz.items import DmozItem
    

    它应该是

     from tutorial.items import DmozItem or
    
     from tutorial.items import *
    

    因为我的项目目录或包名是教程这是我之前做的错误.

    2023-01-29 14:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有