【CSDN 编者按】用你熟悉的代码就能获取高清字帖,是不是撞到你怀里了呢,一起来了解一下吧。

作者 | 天元浪子 责编 | 欧阳姝黎

出品 | CSDN博客

近日网购上瘾,狂买至肉疼,最后连一本打折后28块钱的兰亭序字帖也不舍得下单了。犹豫之间,发现了一个不错的网站——书法欣赏,名家名帖尽收于此。令人惊喜的是,这个网站居然提供了兰亭序全文单字高清字帖,网址见下文中的代码。

这下妥了,不用花钱买字帖了,下载下来照着单字临摹,比字帖更好用。对照网址略加分析之后,15行代码一气呵成。

import requests
from bs4 import BeautifulSoupk = 0 # 兰亭序全文共324字,k为文中每个字的序号,0表示全文图片
for i in range(65): # 共有65页面需要抓取if i:url = 'http://www.yac8.com/news/10725_%d.html'%(i+1)else:url = 'http://www.yac8.com/news/10725.html'print('正在处理第%d页。。。'%(i+1))soup = BeautifulSoup(requests.get(url).text, 'lxml')for img in soup.find(id='newsContent').find_all('img'):with open('res/%03d.jpg'%k, 'wb') as fp:fp.write(requests.get(img['src']).content)k += 1
print('处理完毕!')

这段代码使用 requests 模块下载网页,使用 BeautifulSoup 模块解析图片路径;针对每一个图片路径再次使用 requests.get() 下载图片内容并保存为本地文件。下载的325张图片保存在和脚本文件同级的 res 文件夹内,因此,运行之前要确保该路径存在。

如果想要打印成册,就需要消除背景色。下面的代码,将 res 路径下的234张图片每6个字拼合为1页,共计54页。处理过程将 PIL 对象转为 NumPy 数组,一是为了快速消除背景色,二是可以直接使用 OpenCV 的膨胀和腐蚀函数。

from PIL import Image
import cv2
import numpy as npfor i in range(54):bg = Image.new('RGB', (2200,3300), color=(255,255,255))for j in range(6):k = i*6 + jim = Image.open('res/%03d.jpg'%(k+1))w, h = im.sizewn, hn = 1100, int(h*w/1100)im = im.resize((wn, hn))d = (hn-1100)//2im_box = im.crop((0, d, 1100, d+1100))bg.paste(im_box, ((1-j//3)*1100, (j%3)*1100))im_arr = np.array(bg)im_arr = np.where(im_arr<80, im_arr, 255)kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5,5))im_arr = cv2.dilate(im_arr, kernel) # 膨胀im_arr = cv2.erode(im_arr, kernel) # 腐蚀cv2.imwrite('out/%02d.jpg'%(i+1), im_arr)print('Page%d Ok'%(i+1))

运行这段代码后, out 文件夹下生成了54张拼合后的图片,可以直接打印装订了。

最后附上兰亭序全文共计324字,如需使用文字代替数字为图片命名,上面的代码稍加改动即可,请各位自行修改。

永和九年岁在癸丑暮春之初会于会稽山阴之兰亭修禊事也群贤毕至少长咸集此地有崇山峻岭茂林修竹又有清流激湍映带左右引以为流觞曲水列坐其次虽无丝竹管弦之盛一觞一咏亦足以畅叙幽情是日也天朗气清惠风和畅仰观宇宙之大俯察品类之盛所以游目骋怀足以极视听之娱信可乐也夫人之相与俯仰一世或取诸怀抱悟言一室之内或因寄所托放浪形骸之外虽趣舍万殊静躁不同当其欣于所遇暂得于己快然自足不知老之将至及其所之既倦情随事迁感慨系之矣向之所欣俯仰之间已为陈迹犹不能不以之兴怀况修短随化终期于尽古人云死生亦大矣岂不痛哉每览昔人兴感之由若合一契未尝不临文嗟悼不能喻之于怀固知一死生为虚诞齐彭殇为妄作后之视今亦犹今之视昔悲夫故列叙时人录其所述虽世殊事异所以兴怀其致一也后之览者亦将有感于斯文

原文链接:https://blog.csdn.net/xufive/article/details/114530480

15行代码抓取兰亭序全文单字高清字帖相关推荐

  1. 喜欢书法的程序员看过来:15行代码抓取兰亭序全文单字高清字帖

    近日网购上瘾,狂买至肉疼,最后连一本打折后28块钱的兰亭序字帖也不舍得下单了.犹豫之间,发现了一个不错的网站--书法欣赏,名家名帖尽收于此.令人惊喜的是,这个网站居然提供了兰亭序全文单字高清字帖,网址 ...

  2. python抓取交易所_Python百行代码抓取美股三大交易所历史数据

    最近闲来无事,琢磨着去投资下美股,投资嘛,当然得先分析下市场行情个股行情啦, 分析就需要有数据,那么数据从哪里来呢,当然是从交易所官方网站获取咯.自己动手丰衣足食,于是花了点时间写个Python脚本来 ...

  3. 太厉害了!30行代码抓取上万个小姐姐跳舞视频,有点飘了~

    点上方"菜鸟学Python",选择"星标" 第481篇原创干货,第一时间送达 大家好,我是菜鸟哥!这个我第481篇原创! 今天又给大家带来一个有趣的Python ...

  4. 太刺激了!用python30行代码抓取虎牙上万个小姐姐跳舞视频,不说了,鼻血上来了···

    关注我,每天分享软件测试技术干货.面试经验,想要领取测试资料.进入软件测试学习交流群的可以直接加群644956177~~ 很多小伙伴在平时看视频的时候,都喜欢看小姐姐的舞蹈视频.今天,小编就和大家一起 ...

  5. ​50行Python代码爬取黑丝美眉高清图

    一.技术路线 requests:网页请求 BeautifulSoup:解析html网页 re:正则表达式,提取html网页信息 os:保存文件 import reimport requests imp ...

  6. Hawk: 无编程抓取淘女郎的所有高清照片

    1.这是什么鬼? 哦?美女? 最近看了这一篇文章:http://cuiqingcai.com/1001.html 大概说的是用Python和Pyspider(这货好像是我的一位师兄写的,吓尿),抓取淘 ...

  7. python爬上市公司信息_实战项目 1:5 行代码爬取国内所有上市公司信息

    实战项目 1:5 行代码爬取国内所有上市公司信息 Python入门爬虫与数据分析 在正式开始这门专栏课的学习之前,我们先来看一个简单的爬虫案例.兴趣是最好的老师,当你对爬虫产生兴趣的时候,才会更有动力 ...

  8. python pyquery不规则数据的抓取_爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网...

    爬虫神器之PyQuery实用教程(二),50行代码爬取穷游网 前言 上篇文章 PyQuery (一) 回顾.今天来介绍具体 PyQuery 的使用方法. 穷游网目标与分析 开始之前,按照之前的套路一步 ...

  9. python代码300行程序_python小工具,15行代码秒出工资条

    公司工资条经常使用Excel制作,但是每个月都要做一遍,能不能用python写个程序自动化完成这想工作?当然可以,而且只是分分钟的事! 先来看看原始数据是什么样子: 最后做成的效果: 使用Excel每 ...

最新文章

  1. android -volley-请求数据
  2. 从1G到5G,从回顾过去到展望未来
  3. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )
  4. 机器学习:一种新的编程范式
  5. OS_CORE.C(8)
  6. 【技术综述】深度学习在自然语言处理中的应用发展史
  7. linux主机拷贝文件到另一台主机
  8. sublime开发python需要安装哪些插件_Sublime text 3搭建Python开发环境及常用插件安装...
  9. [C++STL]list容器用法介绍
  10. rust风化速度_反驳《Golang、Rust的执行速度的对照,让人大吃一惊。》——不会别瞎说...
  11. python request对四类参数的处理_如何处理Djang中同一参数具有多个变量的request.GET...
  12. 消息队列终极解决方案——Stream(下)
  13. POJ3259-负权回路判定
  14. 文件fluent_Win10 中解决FLUENT中UDF 的方法
  15. [转载] TensorFlow2.0 学习 线性回归
  16. Mysql使用dos命令安装
  17. AMOS软件介绍开篇;草堂君给数据分析学习者的几点建议
  18. 角度和弧度的计算关系
  19. sqldblink建好不能查询_眉山这个停车场显示有车位却不能停?原来是……
  20. 2022年山东省熔化焊接与热切割作业(特种上岗操作证)模拟试题及答案

热门文章

  1. IntellijIDEA配置Maven
  2. 运行jar包提示找不到.properties文件的问题
  3. ThinkPHP删除指定文件(物理删除) 点击链接可查看详情(对学习可有很大的帮助的...
  4. 面试北京XX数通总结
  5. 2-1 CPU多级缓存-缓存一致性.mkv
  6. ubuntu遇到的 the system is runing low-graphics mode 问题
  7. 【ShoppingWebCrawler】-C#开发的基于Webkit内核开源爬虫蜘蛛引擎
  8. robotium之无name、ID仅有desc定位
  9. 【转】VC动态内存分配PPT
  10. Mesos + Marathon + Chronos + Docker环境安装