• Python学习--两种方法爬取网页图片(requests/urllib)


    实际上,简单的图片爬虫就三个步骤:

    1. 获取网页代码
    2. 使用正则表达式,寻找图片链接
    3. 下载图片链接资源到电脑

    下面以博客园为例子,不同的网站可能需要更改正则表达式形式。

    requests版本:

    import requests
    import re
    
    #获取网页代码
    r = requests.get('https://www.cnblogs.com/Mayfly-nymph/p/10663896.html')
    #根据正则表达式,找寻图片链接
    listpic = re.findall(r'http.+.jpg',r.text)
    print(listpic)
    i = 1
    #循环获取每个图片链接的内容,以二进制形式输入到文件当中
    for url in listpic:
        with open('D:\pip\'+str(i)+'.jpg', 'wb') as f:
            image = requests.get(url)
            f.write(image.content)
            i+=1

    urllib版本:

    from urllib import request
    import re
    
    url = 'https://www.cnblogs.com/Mayfly-nymph/p/10663896.html'
    #模拟浏览器发送GET请求
    r = request.Request(url)
    #对页面进行抓取
    with request.urlopen(r) as f:
        data = f.read()
    #将bytes型数据转化为字符串
    data = str(data, encoding='utf-8')
    #以正则表达式找寻符合要求的图片链接
    listpic = re.findall(r'http.+.jpg', data)
    print(listpic)
    i = 1
    #循环,下载链接图片资源并保存
    for url in listpic:
        request.urlretrieve(url,'D:\pip\'+str(i)+'.jpg')
        i+=1

  • 相关阅读:
    机器学习--避免过度拟合 笔记
    《机器学习》第三章 决策树学习 笔记加总结
    《机器学习》第二章 概念学习和一般到特殊序
    《机器学习》第一章 引言 笔记加总结
    jmeter+ant生成html报告
    jmeter之beanshell使用
    html常用标签
    css样式
    fiddler设置重定向
    fiddler设置断点
  • 原文地址:https://www.cnblogs.com/Mayfly-nymph/p/10673927.html
Copyright © 2020-2023  润新知