使用 Beautiful Soup 从网站上抓取 SVG 标签

时间:2021-01-26 13:56:31

标签: python web-scraping beautifulsoup selenium-chromedriver

我正在尝试从网站上抓取 SVG 标签。问题是当我手动复制 SVG 标记并将其保存(例如 image.svg)时,它完美无缺。但是当抓取并另存为 .svg 文件时,图像已损坏并出错。

代码如下:

from urllib.request import Request
from bs4 import BeautifulSoup as soup

image_url = 'https://www.hudl.com/'
request = Request(image_url, headers={'User-Agent': 'Mozilla/5.0'})
client = urlRequest(request)
# time.sleep(1)
data = client.read()

time.sleep(2)
# image
data_soup = soup(data, 'html.parser')
image_ = data_soup.find('div', {'class': 'mobile-toggle'})
image_ = image_.find('svg')

  

1 个答案:

答案 0 :(得分:0)

url = 'https://www.hudl.com/en_gb/'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
image_ = soup.find_all('div', {'class': 'mobile-toggle'})
image_ = image_.find('svg')
image_ = [i.find('svg') for i in image_]

for index, i in enumerate(image_):
    with open(f'image_{index}.svg', 'w') as f:
        f.write(str(i))