我的剧本
import BeautifulSoup as bs
from BeautifulSoup import BeautifulSoup
url_list = sys.argv[1]
urls = [tag['href'] for tag in
BeautifulSoup(open(url_list)).findAll('a')]
返回
[u'http://www.youtube.com/watch?v=Gg81zi0pheg', u'http://www.youtube.com/watch?v=pP9VjGmmhfo', u'http://www.youtube.com/watch?v=yTA1u6D1fyE', u'http://www.youtube.com/watch?v=4v8HvQf4fgE', u'http://www.youtube.com/watch?v=e9zG20wQQ1U', u'http://www.youtube.com/watch?v=khL4s2bvn-8', u'http://www.youtube.com/watch?v=XTndQ7bYV0A', u'http://www.youtube.com/watch?v=xTT2MqgWRRc', u'http://www.youtube.com/watch?v=J2ZYQngwSUw', u'http://www.youtube.com/watch?v=9RZwvg7unrU', u'http://www.youtube.com/watch?v=vz3qOYWwm10', u'http://www.youtube.com/watch?v=yarv52QX_Yw', u'http://www.youtube.com/watch?v=LRREY1H3GCI']
我希望它能归还:
http://www.youtube.com/watch?v=Gg81zi0pheg
http://www.youtube.com/watch?v=pP9VjGmmhfo
http://www.youtube.com/watch?v=yTA1u6D1fyE
http://www.youtube.com/watch?v=4v8HvQf4fgE
http://www.youtube.com/watch?v=e9zG20wQQ1U
http://www.youtube.com/watch?v=khL4s2bvn-8
http://www.youtube.com/watch?v=XTndQ7bYV0A
http://www.youtube.com/watch?v=xTT2MqgWRRc
http://www.youtube.com/watch?v=J2ZYQngwSUw
http://www.youtube.com/watch?v=9RZwvg7unrU
http://www.youtube.com/watch?v=vz3qOYWwm10
http://www.youtube.com/watch?v=yarv52QX_Yw
http://www.youtube.com/watch?v=LRREY1H3GCI
我很难把头包裹在BeautifulSoup周围。什么都有帮助。谢谢你的时间。
答案 0 :(得分:4)
但这是完全基本的Python。您正在获取一个列表,并且您希望每行输出一个URL。
for url in urls:
print url
答案 1 :(得分:2)
它几乎正在回归。你看到的只是一个url字符串列表,编码为unicode strings(这就是为什么它们前面有一个u
。)
如果你只是想要很好地打印这些网址,那么Python有一个非常适合打印的模块,可以按如下方式使用:
from pprint import pprint
pprint(my_list_of_urls)
但是,这不会逐行打印。要做到这一点,你需要使用:
for url in my_list_of_urls:
print url
编辑:
我刚刚在unicode字符串列表中尝试了漂亮的打印模块,我认为它实际上与字符串前面的'u'没有任何不同。我要离开它,因为它可以代表长数据结构创造奇迹。