Scrapy新手问题 - 无法获取教程文件

时间:2010-12-16 23:47:05

标签: python scrapy

我是Python和Scrapy的全新手,所以我开始尝试复制教程。我正在尝试根据教程抓取www.dmoz.org网站。

我按照下面的说明编写了dmoz_spider.py

from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector

from dmoz.items import DmozItem

class DmozSpider(BaseSpider):
   name = "dmoz.org"
   allowed_domains = ["dmoz.org"]
   start_urls = [
       "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
       "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
   ]

   def parse(self, response):
       hxs = HtmlXPathSelector(response)
       sites = hxs.select('//ul/li')
       items = []
       for site in sites:
           item = DmozItem()
           item['title'] = site.select('a/text()').extract()
           item['link'] = site.select('a/@href').extract()
           item['desc'] = site.select('text()').extract()
           items.append(item)
       return items

我应该通过网站得到的东西是不同的 知道我搞砸了什么吗?

3 个答案:

答案 0 :(得分:7)

我有这个问题。确保按照教程中的说法进行了以下更改。

打开items.py并查看您是否更改了课程

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

成:

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

答案 1 :(得分:1)

您粘贴的代码没有任何问题。问题必须在别的地方,你可以粘贴你得到的整个输出吗? (你的评论会在有趣的部分开始的地方停止......)

答案 2 :(得分:0)

您需要转到包含settings.py文件的目录并运行

从那里开始scrapy crawl dmoz。

为了清晰起见,请将项目结构与https://github.com/scrapy/dirbot相对应