使用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可能会更容易。