罗世杰 发表于 2018-2-12 23:40:38

一个难解的问题

代码如下:

import urllib
import urllib.request
import re

def download_page(url):
    request = urllib.request.Request(url)
    response = urllib.request.urlopen(request)
    data = response.read( )
    return data

def get_image(html):
    regx = r'http://{\S}*\.jpg'
    pattern = re.compile(regx)
    get_img = re.findall(pattern,repr(html))
    num = 1
    for img in get_img:
      image = download_page(img)
      with open('%s.jpg'%num,'wd') as fp:
            fp.write(image)
            num += 1
            print('正在下载第%s张图片'%num)


      return

url = 'http://pic.yesky.com/451/106166451.shtml'
html = download_page(url)
get_image(html)

报错如下:

Traceback (most recent call last):
File "C:\Users\luoshijie\Desktop\文件夹\python计算机语言编程\网络爬虫(罗踢1).py", line 27, in <module>
    html = download_page(url)
File "C:\Users\luoshijie\Desktop\文件夹\python计算机语言编程\网络爬虫(罗踢1).py", line 7, in download_page
    response = urllib.request.urlopen(request)
File "C:\Users\luoshijie\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
File "C:\Users\luoshijie\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 531, in open
    response = meth(req, response)
File "C:\Users\luoshijie\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 641, in http_response
    'http', request, response, code, msg, hdrs)
File "C:\Users\luoshijie\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 569, in error
    return self._call_chain(*args)
File "C:\Users\luoshijie\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 503, in _call_chain
    result = func(*args)
File "C:\Users\luoshijie\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

请大神回答一下怎么回事。还有,谁能看出来我这些代码是干嘛的吗?{奸笑}

新手·ing 发表于 2018-2-13 07:11:56

此页面不存在,谢谢。
上面写着404,别管下面的妹子图。

lapo_Mu 发表于 2018-2-13 17:29:26

我奉劝你使用第三方库requests,既简单又实用。
页: [1]
查看完整版本: 一个难解的问题