【问题标题】:Newbie, Value Error in extracting images from website using webscraping新手,使用网络抓取从网站中提取图像时出现值错误
【发布时间】:2020-08-24 09:43:42
【问题描述】:

我正在尝试运行此代码,但它给出了值错误。

ValueError:未知网址类型:'/images/christmas-getaway-2017.jpg'

请通过此代码:

    import requests
    import urllib.request
    from bs4 import BeautifulSoup
    from html.parser import HTMLParser
    url = 'https://yts.movie/search/all/all/all/latest/'
    response = requests.get(url)
    response
    soup = BeautifulSoup(response.text, 'html.parser')
    print(soup.prettify())
    frame = soup.findAll('div',{'class':'browse-movie-wrap col-xs-10 col-sm-5'})
    for frame in frame:
        figure = frame.find('figure')
        photo_url = figure.img['src']
        print(photo_url)
        name = photo_url.split('/')
        name = name[-1]
        urllib.request.urlretrieve(photo_url, name)



    

【问题讨论】:

    标签: python image web-scraping-language


    【解决方案1】:

    该照片网址是相对网址:

    src="/images/christmas-getaway-2017.jpg"
    

    它不是一个没有 http/https 的完整 url,所以为什么它是一个值错误,

    https://yts.movie/images/christmas-getaway-2017.jpg
    

    基本网址:https://yts.movie/images/
    这是图像的正确 url,因此首先定义您的基本 url,然后提取名称,您提取的图像的方式很好。并与基本 url 连接

    【讨论】:

    • 但代码仅从网站中提取相对 URl。我没有手动保存。可能是显示的网站的 HTML 错误
    • 是的,如果 URL 位于同一服务器上,则相对 URL 适用于该网站,但是当您尝试从托管服务器获取 ti 时,您需要确切的位置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多