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

第一步:需求分析

快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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,028评论 3 119
  • 会讲究,能将就,能享受最好的,亦能承受最坏的。见过世面,自然会在人群中散发不一样的气质,温和却有力量,谦卑却有内涵。
    努力奋斗青春永驻阅读 168评论 0 0
  • 欢迎来到朱老师课堂,这里是朱老师第161条早安问候。 吃一堑长一智(A fall into a pit...
    高飞1阅读 120评论 0 0
  • 001 从事某种职业,往往会具备职业所带来的特点,从一定程度上来说,这是正确的。但有时候,这样的看法也容易带来对人...
    sharemy的简书阅读 343评论 0 1
  • 前言 先后拜读了Paxos made simple和Raft两篇大作,作为一个学数学出身的人,深感Paxos作者L...
    zchys阅读 1,621评论 0 52