我正在努力学习迭代youtube视频上所有评论的语法.我正在使用python并且在GetYouTubeVideoCommentFeed()函数上找到了很少的文档.
我真正想做的是搜索视频的所有评论以获取单词的实例并增加计数器(最终将打印出评论).它对返回的25个结果起作用,但我需要访问其余的注释.
import gdata.youtube
import gdata.youtube.service
video_id = 'hMnk7lh9M3o'
yt_service = gdata.youtube.service.YouTubeService()
comment_feed = yt_service.GetYouTubeVideoCommentFeed(video_id=video_id)
for comment_entry in comment_feed.entry:
comment = comment_entry.content.text
if comment.find('hi') != -1:
counter = counter + 1
print "hi: "
print counter
Run Code Online (Sandbox Code Playgroud)
我试图设置start_index的GetYouTubeVideoCommentFeed()除了video_id,但它不喜欢那个.
有什么我想念的吗?
谢谢!史蒂夫
我现在正在使用RC Windows 7并安装了Visual Studio 2008 Professional版.但我需要使用Java程序,所以我需要使用Visual Studio 2005.我安装了Visual Studio 2005 SP1(VS80sp1-KB926747),但我遇到以下问题:
"Windows Installer服务无法安装升级修补程序,因为要升级的程序可能会丢失,或者升级修补程序可能会更新程序的其他版本.请验证您的计算机上是否存在要升级的程序,并且您有正确的升级补丁."
我在2007年2月安装Visual Studio SDK时遇到了同样的问题.
我有一个简短的问题,我在关于NMock2.0的文档中无法弄清楚.
我有一个名为Save()的函数,我想模拟出来.这将字符串ID作为参数,小数作为值.
我知道我可以编写这个来确保使用2个特定值调用Save():
Expect.Once.On(dao) _
.Method("Save").With(New Object() {"foo", 1})
Run Code Online (Sandbox Code Playgroud)
但是只有当"foo"和1通过时,这才会通过.我确实控制了值"foo",但对于第二个值,我不知道它会是什么; 或者我不关心测试它至少在这个特定测试中的价值.
我知道我可以写:
Expect.Once.On(dao) _
.Method("Save").WithAnyArguments()
Run Code Online (Sandbox Code Playgroud)
但这将允许我通过任何辩论; 因此,如果保存界面更改,稍后需要5个参数,我的测试仍将通过.
我怎样才能确保它只需要2个参数,并且它们的类型合适?
也许更重要的是 - 写这样的单元测试太脆了?也许我应该编码它以期待任何参数,所以每次重构我都不必回来改变那条线?我发现我使用大量模拟的测试用例非常脆弱,无论何时我重构我都要改变它们......也许我在这里使用模拟错误?这个东西还是很新的,所以任何建议都非常感谢.
django书籍提供了本地技巧,以避免键入一长串参数作为上下文字典http://www.djangobook.com/en/2.0/chapter04/
它向懒惰的程序员推荐这个,但指出了一些可能对性能产生影响的开销.
我想知道你们中的一些人是否在实际应用程序中使用本地技巧.你推荐它还是不好的做法?
有没有办法调试python脚本而不是在*nix系统中保留vim(执行脚本,设置断点,在监视列表中显示变量等)?
当我在WPF中创建用户控件时,看起来这个控件的所有子节点都被声明为内部控件?我无法验证这一点,也没有找到任何资源来讨论这个问题.
我可以访问同一程序集中的控件,但不能访问引用用户控件所在程序集的项目.有没有办法覆盖XAML中子控件的默认访问修饰符,所以我不必手动通过用户控件中的属性公开控件?
我想创建一个JQGrid,其中所有行都是可编辑的(内联).这样做的首选方法是什么?我想我需要遍历行并调用grid.editRow(id, true)每一行; 但在这一点上,我甚至没有想出如何访问行集合以便这样做.
假设我有这样的xml:
<Products>
<Product name="Liquid Oxygen">
<Manufacturer name="Universal Exports" country="UK" />
</Product>
<Product name="Hydrazine">
<Manufacturer name="ACME Inc." country="USA" />
</Product>
<Product name="Gaseous Oxygen" obsolete="true">
<Manufacturer name="Universal Exports" country="UK" />
</Product>
<Product name="Liquid Nitrogen">
<Manufacturer name="Penguins R Us" country="Antarctica" />
</Product>
</Products>
Run Code Online (Sandbox Code Playgroud)
我想挑选出有一个产品节点Manufacturer子节点用@country的UK,但不具有@obsolete的true.我也可以说
/Products/Product[Manufacturer/@country = 'UK' and not(@obsolete = 'true)]
Run Code Online (Sandbox Code Playgroud)
要么
/Products/Product[Manufacturer/@country = 'UK'][not(@obsolete = 'true')]
Run Code Online (Sandbox Code Playgroud)
并且都得到了我想要的节点.
我的问题是,这两种方法和条件之间是否有任何功能差异?是否存在不同方法可能产生不同结果的情况?(我意识到and在更复杂的条件下有目的)风格上,一个比另一个更受欢迎?
(我正在使用C#和.NET 2.0,但我不认为这会对答案有任何影响)
python ×3
.net ×2
c# ×2
jquery ×2
django ×1
javascript ×1
jqgrid ×1
jquery-ui ×1
nmock ×1
nmock2 ×1
sms-gateway ×1
unit-testing ×1
vim ×1
windows-7 ×1
wpf ×1
xaml ×1
xpath ×1
youtube ×1
youtube-api ×1