使用Python 2.6.6
我试图使用机械化浏览器获取youtube链接的标题,虽然它确实可用于链接到实际视频,链接到频道的页面或其播放列表等,但却导致它崩溃。
相关代码段:
ytpage = br.open(ytlink).read()
yttitle = re.search('<title>(.*)</title>', ytpage)
yttitle = yttitle.group(1)
错误:
yttitle = yttitle.group(1) AttributeError:&#39; NoneType&#39;对象没有属性&#39; group&#39;
我可以看到的唯一区别是,直接视频链接在源代码中的a single line上列出了标题标记,而其他每个youtube页面似乎都将a carriage return/newline放在标题标记的中间。
任何人都知道如何解决回车问题,假设这是问题吗?
干杯。
答案 0 :(得分:2)
您可以使用re.DOTALL
标记,这会使.
与包含换行符在内的所有内容相匹配。
所以你的第二行代码应该是这样的:
yttitle = re.search('<title>(.*)</title>', ytpage, re.DOTALL)
顺便从网页中提取数据可能更容易使用Beautiful Soup。