美文网首页
用Python给女儿爬幼儿绘画填充图片

用Python给女儿爬幼儿绘画填充图片

作者: 呵呵x3 | 来源:发表于2018-07-17 10:04 被阅读19次
    第一步:需求分析

    快3岁的女儿最近开始喜欢画画,就是给图片填充彩色。但我又觉得没必要买本书,所以就准备去晚上找一些图片,自己打印。好处是用起来方便,喜欢的图片,可以多打印一些,随便玩。然后google一下,找到了一些合适的资源,主要是准备用这个网址:http://nurienomori.com/nurie.html 感觉还可以,所以就是它了。

    第二步:分析网页源码

    这一步可简单了,如图:

    image.png

    稍微分析一下,就是取出网页中的 a 标签,然后拿到里边的链接。这个链接的规则是以 'images/nurie/' 开始,然后接一个字母和数组组合的名字,资源后缀是.pdf。 所以我们可以用正则表达式 "images/nurie/[a-z]+[0-9]+.pdf" 来匹配。

    第三步:写代码

    当然是用Python了。BeautifulSoup 、requests 走起来。贴个代码吧,比较简单,也是现学现用,别喷我。

    # -*- coding:UTF-8 -*-
    from urllib import request
    import requests
    from bs4 import BeautifulSoup
    import re
    if __name__ == "__main__":
       download_url = "http://nurienomori.com/nurie.html"
       head = {}
       head['User-Agent'] = 'Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166  Safari/535.19'
       download_req = request.Request(url = download_url, headers = head)
       download_response = request.urlopen(download_req)
       download_html = download_response
       print(download_html)
       soup_texts = BeautifulSoup(download_html, 'lxml')
       print(type(soup_texts))
       for tag in soup_texts.find_all(href=re.compile("images/nurie/[a-z]+[0-9]+.pdf")):
           res = "http://nurienomori.com/" + tag["href"]
           name = re.search("[a-z]+[0-9]+.pdf", res, flags=0)
           path = './other/' + str(name.group())
           print(path)
           r = requests.get(res, stream=True)
           if r.status_code == 200:
               with open(path,'wb') as f:
                   for chunk in r.iter_content(chunk_size=1024):
                       f.write(chunk) 
    
    第四步:结果

    大概接近293 张图片,因为文件夹下有个txt文件保存了所有文件下载地址。😶


    image.png
    最后: GitHub地址送给大家。祝大家和小朋友,画得开心。喜欢的话随手给个star也行。

    https://github.com/HecvStyle/picturFill

    相关文章

      网友评论

          本文标题:用Python给女儿爬幼儿绘画填充图片

          本文链接:https://www.haomeiwen.com/subject/dnqwpftx.html