python3爬虫下载图片之常见问题

Posted chengyuyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3爬虫下载图片之常见问题相关的知识,希望对你有一定的参考价值。

 

刚开始学python3,百度了下python的用法,看到爬虫下载图片很好玩,于是百度各种资料学习了下,结果总是运行不成功,最后终于改好了,记录下。

from urllib import request
import urllib
import re

def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = rsrc="(.+?\.jpg)"
    imgre = re.compile(reg)
    html=html.decode(utf-8)#不写此行会报错:TypeError: cannot use a string pattern on a bytes-like object
    imglist = re.findall(imgre,html)
    x = 1
    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl,C:/Users/zx/Desktop/images/%s.jpg % x)
        x+=1
    return imglist

html = getHtml("http://www.win4000.com/wallpaper_2358_0_10_1.html")
print(getImg(html))

标红的是python3和python2的不同之处,如不写则会报错:AttributeError: module ‘urllib‘ has no attribute ‘urlopen‘

如果返回[ ],可能是正则表达式不对

以上是关于python3爬虫下载图片之常见问题的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

scrapy主动退出爬虫的代码片段(python3)

python3 TensorFlow训练数据集准备 下载一些百度图片 入门级爬虫示例

Pythonpython3实现网页爬虫下载图片

python爬虫初学之:爬取网页图片

Python3 爬虫实例 -- 爬取豆瓣首页图片