[小程序]小程序破千之笔顺图片采集篇(2)

3 篇文章 0 订阅
2 篇文章 0 订阅
本文介绍了使用Python的BeautifulSoup库和Node.js的Puppeteer库进行网络爬虫,特别是抓取并处理GIF图片的过程。通过设置文件命名规则,实现了新图片与文字的一一对应,并将图片格式化入库。此外,还提到了如何在MongoDB中使用$set和upsert操作更新数据,以及前端资源引用的变更。
摘要由CSDN通过智能技术生成

又是一个周末,外面的天气灰蒙蒙的, 接着上次的任务, 制定下今天的目标

  • 采集百度或者搜狗汉语的gif图片 *****
  • 格式化后入库 *****
  • 前端资源引用变更
爬去 gif笔画图片

这里主要的知识点就一个

  • BeautifulSoup python爬虫,应该都会用到;
  • puppeteer nodejs版

文档地址:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id17

如果不用python, 用nodejs 推荐使用 puppeteer;

我这里用的是python 记录下代码, 主要的方法,

font = sys.argv[1]

def start():
	r = rqs.get(url = url,headers=headers)
	time.sleep(random.randint(1,4))
	# print(r.content)
	soup = BeautifulSoup(r.content, 'html.parser')
	bh = soup.find('li',{"id": "stroke_count"})
	bh_num = 0
	if(bh):
		bh_num = bh.contents[3].contents[0]
		img_www = tit.get('data-gif')
		r2 = rqs.get(img_www)
		filename = str(ord(font))
		# print(charcode)
		fpath = os.path.join('/pyproject/spider/gifs/', filename)
		# print(fpath)
		with open(fpath+'.gif','wb+')as f : 
			f.write(r2.content)
			r2.close()
	r.close()
	return bh_num

if __name__ == '__main__':
	start()

保存的时候就设置好文件名称规则,这样一次性就到位,和文字一一对应关系,

格式化入库

其实这里主要是新图片和旧图片的命名规则, 我用的 charCodeAt , fromCharCode 方式; 因为前面的 jpg 也是这样的命名方式,这样可以减少很大的更改成本;不管数据增加,修改,最终都可以找到图片所对应的文字。

数据库 mongodb $set, upsert 方式,

前端新增引用资源

这里就不一一说明了,直接上图了,
在这里插入图片描述

在这里插入图片描述
今天的目标已经完成,打完收工~~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,要实现汉字笔顺的功能,首先需要了解汉字笔顺的规则及其数据来源。汉字笔顺的规则一般是根据《康熙字典》或《新华字典》等字典中的笔画信息确定的。而汉字笔顺的数据可以通过这些字典的电子版或开放的汉字笔顺数据库获取。 在Python中可以通过以下步骤实现汉字笔顺的功能: 1. 导入所需的库,例如pandas用于数据处理和操作。 2. 加载汉字笔顺数据,可以是csv文件或数据库中的数据。如果使用csv文件,可以使用pandas的read_csv函数读取。 3. 定义一个函数,输入参数为要查询的汉字,函数内部实现笔顺查询的逻辑。 4. 在函数中,使用pandas的query函数查询输入汉字的笔顺信息。查询条件可以根据汉字进行筛选。 5. 返回查询结果,可以是汉字的笔顺顺序或以其他形式展示。 以下是一个简单的示例代码: ``` import pandas as pd def get_stroke_order(chinese_character): # 加载汉字笔顺数据 stroke_order_data = pd.read_csv('stroke_order_data.csv') # 查询输入汉字的笔顺信息 stroke_order = stroke_order_data.query("汉字 == @chinese_character")['笔顺信息'] # 返回查询结果 if not stroke_order.empty: return stroke_order.values[0] else: return "未找到该汉字的笔顺信息" # 示例用法 character = '中' stroke_order = get_stroke_order(character) print(f'{character}的笔顺是{stroke_order}') ``` 这是一个简单的实现方法,实际应用中可能需要根据具体需求进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值