使用Python 2.6.6

我正在尝试使用机械化浏览器获取youtube链接的标题,尽管它确实可以链接到实际视频,链接到 channel 页面或其播放列表等,但会导致崩溃。

相关代码段:

ytpage = br.open(ytlink).read()
yttitle = re.search('<title>(.*)</title>', ytpage)
yttitle = yttitle.group(1)

错误:



我能看到的唯一区别是,直接视频链接在源中的a single line上布置了标题标签,而每个其他youtube页面似乎都将a carriage return/newline放在了标题标签的中间。

假设这是问题所在,有人知道我该如何解决回车的问题?

干杯。

最佳答案

您可以使用re.DOTALL标志,这将使.与所有内容(包括换行符)匹配。

Documentation

因此,第二行代码应如下所示:

yttitle = re.search('<title>(.*)</title>', ytpage, re.DOTALL)

通过从网页提取数据的方式,使用Beautiful Soup可能会更容易。

10-08 02:12