抓取图片URL时,获取到data:image/jpeg;base64
我在用Python的urllib2库从一个网站上抓取图片的链接。
这是我用来获取网页内容的代码:
req = urllib2.Request(url, headers = urllib2Header)
htmlStr = urllib2.urlopen(req, timeout=15).read()
当我在浏览器中查看时,图片的HTML代码是这样的:
<img id="main-image" src="http://abcd.com/images/41Q2VRKA2QL._SY300_.jpg" alt="" rel="" style="display: inline; cursor: pointer;">
但是,当我从我抓取的htmlStr中读取时,图片却变成了base64格式的字符串,看起来像这样:
<img id="main-image" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQU....">
我在想,为什么会这样?有没有办法获取到原始的图片链接,而不是这个base64的字符串呢?
谢谢。
1 个回答
0
你可以使用 BeautifulSoup 这个工具。
示例:
import urllib2
from bs4 import BeautifulSoup
url = "www.theurlyouwanttoscrape.com"
html = urllib2.urlopen(url)
soup = BeautifulSoup(html)
img_src = soup.find('img', {'id':'main_image'})['src']