美文网首页
用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