我在尝试测试scrapy安装时收到错误:
$ scrapy shell http://www.google.es
j2011-02-16 10:54:46+0100 [scrapy] INFO: Scrapy 0.12.0.2536 started (bot: scrapybot)
2011-02-16 10:54:46+0100 [scrapy] DEBUG: Enabled extensions: TelnetConsole, SpiderContext, WebService, CoreStats, MemoryUsage, CloseSpider
2011-02-16 10:54:46+0100 [scrapy] DEBUG: Enabled scheduler middlewares: DuplicatesFilterMiddleware
2011-02-16 10:54:46+0100 [scrapy] DEBUG: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, RedirectMiddleware, CookiesMiddleware, HttpProxyMiddleware, HttpCompressionMiddleware, DownloaderStats
2011-02-16 10:54:46+0100 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2011-02-16 10:54:46+0100 [scrapy] DEBUG: Enabled item pipelines:
2011-02-16 10:54:46+0100 [scrapy] DEBUG: Telnet console listening on 0.0.0.0:6023
2011-02-16 …
Run Code Online (Sandbox Code Playgroud) 我在做一个RSS蜘蛛.如果当前项目中没有匹配项,我想继续执行蜘蛛忽略当前节点...到目前为止,我已经得到了这个:
if info.startswith('Foo'):
item['foo'] = info.split(':')[1]
else:
return None
Run Code Online (Sandbox Code Playgroud)
(info是一个在xpath之前从xpath清理过的字符串...)
但我得到了这个例外:
exceptions.TypeError: You cannot return an "NoneType" object from a
Run Code Online (Sandbox Code Playgroud)
蜘蛛
那么我怎么能忽略这个节点并继续执行呢?
我正在尝试通过Django模型中的自定义方法实现一些自定义登录.我想知道它是否可能:
想做这样的事情:
class OneModel(models.Model):
(...)
def viewed(self):
profile = request.user.profile
viewed = self.viewed_episodes.filter(user=profile).exists()
if viewed: return True
else: return None
Run Code Online (Sandbox Code Playgroud)
我想到的另一种可能性是:
class OneModel(models.Model):
(...)
def viewed(self, user):
profile = user.profile
viewed = self.viewed_episodes.filter(user=profile).exists()
if viewed: return True
else: return None
Run Code Online (Sandbox Code Playgroud)
但我认为这都不可能.也许我需要的是模板标签?
所以,我有这个:
"(ABC,2004)"
我需要在变量中提取ABC,在另一个中提取2004.所以我现在拥有的是:
在:re.compile(r'([^]]*,').findall("(ABC,2004)")
出:['(ABC,']
我这么做了很多次:
var url = '/offers/1/voting';
var params = { 'direction': 'up' };
$.post(url, params, function() {
alert('callback');
}); // post
Run Code Online (Sandbox Code Playgroud)
(我正在硬编码这个例子的值,但没有)
因此,通过firebug,我收到了所需的JSON响应(200状态),但回调没有执行.它几乎是我使用的唯一的JavaScript.尝试使用jquery 1.6.4和1.7.1,两者都是一样的.我不知道我错过了什么.
帮我,Stack Overflow.你是我唯一的希望.
我正在尝试用Backbone做一个非常简单的hello世界.在阅读了文档和示例之后,我认为这应该可行,但是当我点击时它没有做任何事情:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore-min.js"></script>
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>
<script type="text/javascript">
var AppView = Backbone.View.extend({
events: {
'click #new': 'createNew'
},
//CREATE
createNew: function(){
alert('yea');
}
});
var app_view = new AppView();
</script>
</head>
<body>
<a href="#new" id="new">new</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?可能有什么不对?
python ×3
scrapy ×2
ajax ×1
backbone.js ×1
django ×1
javascript ×1
jquery ×1
post ×1
regex ×1
web-crawler ×1
web-scraping ×1