使用Python获取实际的Facebook和Twitter图片网址
我想写一段Python代码,从包含图片的链接中下载“主”图片。
我手头有一些这样的链接(在文本文件中):
这个链接指向一个Facebook的图片。
这个链接指向一个Twitter的图片。
但是这些链接展开后并不会直接得到.jpg或.png格式的图片。相反,它们会把我们引导到一个包含所需图片的页面。
我该如何从这些链接下载图片呢?
1 个回答
3
这里有一个例子,教你怎么从Facebook页面下载飞机的图片,你可以把这个方法改成适合你自己的Twitter页面:
from bs4 import BeautifulSoup
import urllib
urlData = urllib.urlopen('https://www.facebook.com/photo.php?fbid=10152055005350906')
data = str(urlData.readlines())
bs = BeautifulSoup(data)
imgUrl = bs.find('img', attrs={'class': 'fbPhotoImage img'}).get('src')
urllib.urlretrieve(imgUrl, "plane.jpg")
编辑
我决定也帮你解决Twitter的下载问题,这里是从你给的链接下载图片的Twitter例子:
from bs4 import BeautifulSoup
import urllib
urlData = urllib.urlopen('https://twitter.com/USABillOfRights/status/468852515409502210/photo/1')
data = str(urlData.readlines())
bs = BeautifulSoup(data)
imgUrl = bs.find('img', attrs={'alt': 'Embedded image permalink'}).get('src')
urllib.urlretrieve(imgUrl, "cnn.jpg")
还有一个关于BeautifulSoup的网页参考资料。