【发布时间】:2011-12-07 20:05:36
【问题描述】:
我可以解析一个看起来像这样的文件:
<a href="http://www.youtube.com/watch?v=DpQNMBzwShs"></a>
但是当我给它的时候:
http://www.youtube.com/watch?v=DpQNMBzwShs
它出错了。
如何将soup 变成一个完全跳过# extract youtube video urls 进程的列表,这是我认为我需要做的?
# parse bookmarks.html
with open(sys.argv[1]) as bookmark_file:
soup = BeautifulSoup(bookmark_file.read())
# extract youtube video urls
video_url_regex = re.compile('http://www.youtube.com/watch')
urls = [link['href'] for link in soup('a', href=video_url_regex)]
# extract video ids from the urls
ids = []
for video_url in urls:
url = urlparse.urlparse(video_url)
video_id = urlparse.parse_qs(url.query).get('v')
if not video_id: continue # no video_id in the url
ids.append(video_id[0])
当我 print soup 它给了我一个 url 列表,我认为我可以使用现有代码和 urls = soup 提取视频 ID,但是当我这样做时它说我只有 1 个 url。
谢谢
【问题讨论】:
标签: python list youtube youtube-api beautifulsoup