我是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
Run Code Online (Sandbox Code Playgroud)
我应该通过网站得到的东西是不同的.
知道我搞砸了什么吗?
小智 7
我有这个问题.确保按照教程中的说法进行了以下更改.
打开items.py并查看是否更改了课程
class TutorialItem(Item):
title=Field()
link=Field()
desc=Field()
Run Code Online (Sandbox Code Playgroud)
成:
class DmozItem(Item):
title=Field()
link=Field()
desc=Field()
Run Code Online (Sandbox Code Playgroud)