Ваш вопрос - как он есть - довольно озадачивает: beautifulsoup
используется для анализа деревьев XML, но вы, кажется, пытаетесь вместо этого проанализировать простой текстовый файл?
Если это так, предполагая, что файл имеет один URL на строку, вам просто нужно загрузить его построчно и назначить его содержимое urls
urls = open('<your-filename-here>').readlines()
тогда вы можете просто использовать цикл, который у вас уже есть:
# 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])
... но, может быть, я вас неправильно понимаю?