我一直在寻找python scrapy蜘蛛的一些github回购。在此repo中,我找到了以下代码行:
FIRSTPAGE_URL_SYNTAX = 'http://%s.tumblr.com'
OTHERPAGE_URL_SYNTAX = 'http://%s.tumblr.com/page/%s'
name = "tumblr"
根据我发现的文档和SO帖子,%s
需要对变量进行内联引用。如您所见,上面的代码不包含此类引用。这是工作代码吗?为什么呢?
答案 0 :(得分:6)
这些变量用作模板。稍后在代码中,您会看到类似
的内容~
或
FIRSTPAGE_URL_SYNTAX % user
您可以在字符串中使用OTHERPAGE_URL_SYNTAX % (user, page)
执行相同的操作:
{}
这允许用户轻松地重复使用这一个变量,如果他们需要引用具有相似主体的多个URL,而不是每次都必须重新键入整个URL。
答案 1 :(得分:2)
这些只是字符串。所有字符(包括%s
)在字符串中都有效。当您使用%
运算符时,需要替换值,而这些运算符并非在此处执行。他们将这些字符串声明为模板,并在以后将值替换为它们。
通过在同一个地方声明它们,可以更容易地找到它们并进行更改。这是一个很好的编码实践。