2012-07-01 82 views
0

我想打印第一轮起草的30个NBA球队的图像。但是,当我告诉它打印它打印出的链接,而不是图像。如何让它打印出图像而不是给我图像链接。 这里是我的代码:如何打印图像?

import urllib2 
from BeautifulSoup import BeautifulSoup 
# or if your're using BeautifulSoup4: 
# from bs4 import BeautifulSoup 

soup = BeautifulSoup(urllib2.urlopen('http://www.cbssports.com/nba/draft/mock-draft').read()) 

rows = soup.findAll("table", attrs = {'class': 'data borderTop'})[0].tbody.findAll("tr")[2:] 

for row in rows: 
    fields = row.findAll("td") 
    if len(fields) >= 3: 
    anchor = row.findAll("td")[1].find("a") 
    if anchor: 
     print anchor 
+2

如何打印图像?你是什​​么意思“打印图像”? –

+0

浏览器根据HTML源代码中给出的链接加载图像,并与图像所在的服务器建立新的连接;你将需要做同样的事情。 –

+0

好吧,如果你现在运行代码,它会给我图像链接。我想让代码自己显示图片而不是图片链接。 – user1470901

回答

0

您需要将文件转换成64位编码,这会给数据的字符串,可以到处移动,如果需要存储。我通常用PHP做这件事,所以如果Python有点粗糙,我很抱歉

import urllib2 
import base64 
url = 'http://somesite.com/images/team_one.jpg' 
grab = urllib2.urlopen(url) 
encoded_image_string = base64.b64encode(grab.read())