Python中从网站上刮取的图像的相对路径到绝对路径

Python中从网站上刮取的图像的相对路径到绝对路径,python,python-3.x,web-scraping,relative-path,absolute-path,Python,Python 3.x,Web Scraping,Relative Path,Absolute Path,Iv抓取了一个网站上的图像,然后将下载这些图像,但是为了能够下载它们,我需要找到图像的绝对路径,因为这是Iv抓取的: 2001.JPG big.jpg pics.gif gchq.jpg 所有这些图像都存储在变量imagesim正在寻找一个可以同时找到所有绝对路径并将其存储在变量中的函数 这是我用来刮取图像的代码: images=re.findall(r'src=[\“\\\”]([^\“\\\”]+)[\“\\”]”,webpage.decode()) (我在这里看了很多其他类似的问题,但似乎

Iv抓取了一个网站上的图像,然后将下载这些图像,但是为了能够下载它们,我需要找到图像的绝对路径,因为这是Iv抓取的:

2001.JPG
big.jpg
pics.gif
gchq.jpg

所有这些图像都存储在变量
images
im正在寻找一个可以同时找到所有绝对路径并将其存储在变量中的函数

这是我用来刮取图像的代码:

images=re.findall(r'src=[\“\\\”]([^\“\\\”]+)[\“\\”]”,webpage.decode())

(我在这里看了很多其他类似的问题,但似乎没有一个问题可以同时处理多个图像)


如果有人能为我指出正确的方向,那就太好了,还有关于下载它们的建议。

使用BeautifulSoup&urllib,您应该能够在网页中收集图像,迭代并下载它们

from urllib import urlretrieve
import urlparse
from bs4 import BeautifulSoup
import urllib2

url = "<your_url>"
soup = BeautifulSoup(urllib2.urlopen(url))
for img in soup.select('img'):
    img_url = urlparse.urljoin(url, img['src'])
    file_name = img['src'].split('/')[-1]
    urlretrieve(img_url, file_name)
从urllib导入urlretrieve
导入URL解析
从bs4导入BeautifulSoup
导入urllib2
url=“”
soup=BeautifulSoup(urlib2.urlopen(url))
对于汤中的img。选择('img'):
img_url=urlparse.urljoin(url,img['src'])
文件名=img['src'].split('/')[-1]
urlretrieve(img\u url、文件名)
与Python 3兼容的代码

from bs4 import BeautifulSoup
from urllib.request import urlopen, urlretrieve
from urllib.parse import urljoin

url = "<url>"
soup = BeautifulSoup(urlopen(url))

for img in soup.find_all('img'):
    img_url = urljoin(url, img['src'])
    file_name = img['src'].split('/')[-1]
    urlretrieve(img_url, file_name)
从bs4导入美化组
从urllib.request导入urlopen,urlretrieve
从urllib.parse导入urljoin
url=“”
soup=BeautifulSoup(url打开(url))
对于汤中的img。查找所有('img'):
img_url=urljoin(url,img['src'])
文件名=img['src'].split('/')[-1]
urlretrieve(img\u url、文件名)

您可以找到相关的show-us(最简单的示例)用于刮取图像名称的代码。最简单的方法是在此文件中获取总路径step@MaartenFabr不要使用正则表达式来处理HTML!BeautifulSoup在其中既简单又健壮。对于问题的其余部分,HTTP协议说相对路径是相对于当前url的父级的。这在中有效吗Python3.6?有些模块不是被重命名了吗?@JDoe完全正确!我将在这里添加Python3.兼容的代码。