简体   繁体   English

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

[英]Scraping SVG tags from website using Beautiful Soup

I am trying to scrape SVG tags from a website.我正在尝试从网站上抓取 SVG 标签。 The issue is when I manually copy the SVG tag and save it (for example image.svg ) it perfect., but when scraping and save as .svg file the image is broken and error.问题是当我手动复制 SVG 标记并保存它(例如image.svg )它完美。但是当抓取并保存为.svg和错误时,文件图像已损坏。

here is the code:这是代码:

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')

  
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))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM