自己网站制作主题猫-wordpress

news/2025/9/24 8:26:24/文章来源:
自己网站制作,主题猫-wordpress,常州设计网站,郑州网站关键词优化外包刚开始写文章还希望大家可以喜欢#xff0c;对于爬虫只是个人整理出的方法#xff0c;爬虫大牛请嘴下留情。“”仅限学术交流#xff0c;如有冒犯请联系作者删除“”话不多说#xff0c;想分析天津地区餐饮行业的大致情况#xff0c;要爬出#xff08;商铺名称#xff0…刚开始写文章还希望大家可以喜欢对于爬虫只是个人整理出的方法爬虫大牛请嘴下留情。“”仅限学术交流如有冒犯请联系作者删除“”话不多说想分析天津地区餐饮行业的大致情况要爬出商铺名称星级评价条数人均消费金额菜系商圈团购活动等。可是在爬虫时发现这些数字都是以这类方框形式展示再看源代码以#xXXXX这种形式展示这是反爬机制中的字体库反爬要把这些代码转化成前端看到的123或天津菜等数据。感觉跟特工密码一样真让人兴奋。要把这些代码对应出真正的数字或汉字需要把css内的woff字符库爬出来。获取的css链接类似如下http://s3plus.sankuai.com/v1/mss_0a06a471f9514fc79c981b5466f56b91/svgtextcss/9a2072f4d3d2589da1b348aebb034c6c.css在源代码中找到这样的内容爬取下来#爬取代码如下 patternre.compile(r//s3plus..*?.css) urlpattern.findall(html) url1.join(url) cssurlhttp:url1css链接爬下来后打开看看里面的内容哇塞这是什么神仙结构可以看到里面有2种字符库。我之前遇到过里面有4种各不相同的字符库这里只有2种字符库简单多了但是css内的字体文件一直在变光抓下来一次woff文件是不够的既然这里实时变更就要采取爬虫实时抓取css、下载woff。先把第一次爬取出来的css文件中的woff文件下载下来上面截图看的出里面有2个woff文件是否要把所有的woff文件都下载下来呢这要看我们都需要爬取下来什么内容商铺名称星级评价条数人均消费金额菜系商圈团购活动这些内容看他们的class标签属于2类shopNum,tagname在css文件中能查到这2个标签分别对应一个woff文件也就是下载这2个woff文件即可。下载下载woff文件代码# 将css内对应shopNum,tagname标签的font-family内容爬取出来 def css_url(html):patternre.compile(r//s3plus..*?.css)urlpattern.findall(html)url1.join(url)cssurlhttp:url1frequests.get(cssurl)f.encodingutf-8f1f.textshopnumfontre.findall(rfont-face{font-family: PingFangSC-Regular-shopNum.*?shopNum{font-family: PingFangSC-Regular-shopNum;},f1)shopnum.join(shopnumfont)tagnamefontre.findall(rfont-face{font-family: PingFangSC-Regular-tagName.*?tagName{font-family: PingFangSC-Regular-tagName;},f1)tagname.join(tagnamefont)return shopnum,tagname # 将对应标签内的woff下载在本地 def unicode_dict(shopnum):shopnumlist re.findall(r//s3plus.meituan.net/v1/w/font/w.woff,shopnum)shopnumurl http: .join(shopnumlist)response_shopnumwoff requests.get(shopnumurl).contentfontname shopnumurl[-13:-5]hopen(fontname .woff, wb)h.write(response_shopnumwoff)h.close()现在先以shopNum标签举例举一反三tagname也就知道怎么处理了。下面就是关键把爬取出来的一个woff文件做为基础字符库通过FontCreator可以把编码对应的数字或汉字显示出来下面是fontcreator打开woff文件后呈现出来的样子。但要把这些编码和对应汉字转换成.xls或.txt还需要一个图像文字识别软件推荐在线https://zhcn.109876543210.com/把fontcreator中内容截图下来用刚才的链接转换成.csv直接把代码和对应的汉字都下载下来方便直接生成字典这是我的方法可以根据自己的喜好来选择下载的形式这里的是不是unie045和#xe045很像只要把前面3个字符更换成uni就可以了测试一下是真的可以的。那把编码和汉字对应上形成字典再replace’uni’,’#x’就能把网页上的#xXXXX转换成汉字或数字了就能爬取下来正确的内容了。可这只能生成一个字典前面说过css内的woff是不断变换的每个woff文件下载下来相同数字对应的编码都不相同如图不可能每个woff文件都这样生成一个字典其他字符库要怎么找到编码对应的汉字或数字呢这里需要用到TTFontfrom fontTools.ttLib import TTFont把woff文件存为xml每个编码都会生成这样一个坐标系虽然编码不同但是后面的坐标系是相同的对应生成的数字或汉字也是相同的这是一个切入点~只要通过一个字符库的xml找到坐标系和汉字、数字对应的关系新爬下来的字符库转换成xml后遍历他的坐标系和已知字符库的坐标系对上了就把已知字符库的汉字或数字赋值给新的字符库完成上代码newfont TTFont(fontname .woff) newfont.saveXML(fontname .xml) basefont TTFont(1d7914a7.woff) unicodedict {unie046: 跟, unif305: 块, unif230: 1, unie713: 2, unie86f: 3, unie5f3: 4,unif235: 5, unie7c3: 6, unif558: 7, unie383: 8, unif5f6: 9, unie8f4: 0,unieb6b: 店, unie015: 中, unif44f: 美, unif4fe: 家, unif5b5: 馆, unie6b4: 小,unif78b: 车, unie0a1: 大, unif191: 市, unie5eb: 公, unif33f: 酒,unif0a1: 行, unie19a: 国, unie075: 品, unie4d5: 发, unif2ed: 电, uniea88: 金,uniec19: 心, unie240: 业, unif77e: 商, unif87a: 司, unief51: 超, unie877: 生,uniebf3: 装, unied5e: 园, unie0c0: 场, unie723: 食, unif167: 有, uniec25: 新,unief2b: 限, unieb71: 天, unie36b: 面, unie4e5: 工, unie820: 服,unieb69: 海, unie591: 华, unif5ab: 水, unif653: 房, unie3d5: 饰, unif48e: 城,unif042: 乐, unie31f: 汽, unif76c: 香, unie056: 部, unie5b9: 利, unif860: 子,unie661: 老, unif316: 艺, unie714: 花, unif101: 专, uniedf8: 东, unie66e: 肉,unif6eb: 菜, unif897: 学, unif2a7: 福, unie148: 饭, unif313: 人,uniedf7: 百, unied1a: 餐, unif7be: 茶, unie32e: 务, unie63b: 通, unie45b: 味,unif397: 所, unieda8: H1, unie761: 区, unif6cf: 门, unie424: 药, uniedc9: 银,unif87c: 农, unie462: 龙, unie04a: 停, unie610: 尚, unif0ea: 安, unie913: 广,unie399: 鑫, uniebb2: —, unie04b: 容, unie21a: 动, unie225: 南,unif024: 具, unif165: 源, unie259: 兴, uniecb3: 鲜, unie4a3: 记, unif109: 时,unif4ed: 机, unie5c7: 烤, unif276: 文, unie538: 康, unied4c: 信, uniedca: 果,unif1d5: 阳, unif6f9: 理, unie83a: 锅, unif7e1: 宝, unif094: 达, unif18e: 地,....... } # 太长了做缩略全部代码后面会附上。 newfont_glyphNamesnewfont.getGlyphNames()[1:-1] basefont_glyphNamesbasefont.getGlyphNames()[1:-1] temp{} alen(unicodedict) for i in range(0,a):for j in range(0,a):if newfont[glyf][newfont_glyphNames[i]]basefont[glyf][basefont_glyphNames[j]]:temp[newfont_glyphNames[i].replace(uni,#x).lower()]unicodedict[basefont_glyphNames[j]]else:pass return temp通过上面几步基本上就可以把爬取下来的字段对应出正常的汉字或数字了再保存到mysql中结果如下。整理思路1、 爬取出css链接从css内解析出shopNum,tagname标签的woof文件2、 将下载下来的一个woff文件做为基础用fontcreator和诚华OCR将编码对应的汉字和数字整理成字典。3、 将已知的字符库用TTFont存为xml,用getGlyphNames()和if条件语句判断新下载的字符库和已知字符库是否有相同的坐标系有的话将字典内的值赋给新的字符库的编码用replace‘uni’‘#x’将Unicode编码转换为网页上的编码形成新的字典。4、 通过以上方式生成2类字典shopNum字典和tagname字典。5、 将爬取出来的#xXXXX这个格式的内容区分匹配哪类字典再将字典的值赋给对应的编码形成最终的前端显示的文字或数字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915329.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站生成wap设计开发流程

题目描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。…

手机网站智能管理系统金华企业网站建站模板

电脑是我们办公、生活和娱乐必不可缺少的设备,里面存储着我们很多重要的文件。但是,有时候我们不小心误删了文件,或者是不小心删除了一些重要的数据等,要怎么进行恢复呢?今天,小编就专门给大家讲下刚删除的文件重新找回方法。 方法一: 文件不小心删除了,请立即停止对硬…

做群头像的网站在线制作国内重大新闻事件

今天推荐一个Python学习的干货。 几个印度小哥,在GitHub上建了一个各种Python算法的新手入门大全,现在标星已经超过2.6万。这个项目主要包括两部分内容:一是各种算法的基本原理讲解,二是各种算法的代码实现。 传送门在此&#x…

怎么设置iis默认网站广州制作企业网站

读取并计算指定文件的MD5哈希值 /*** 读取并计算指定文件的MD5哈希值* param {string} file - 文件路径* returns {void} 不返回任何值,但会打印出文件的MD5哈希值*/ const fs require(fs); // 引入文件系统模块 const crypto require(crypto); // 引入加密模块 …

网站建设标准合同安徽网站设计费用

🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔概述🍔命令⭐常用选项 🍔练…

网站要挂工商标识怎么做h3c路由器怎么做网站映射

文章目录 一、noConflict() 方法使用方法:注意事项: 二、JSONP简介1. 跨域数据请求2. API 数据调用3. 简单的数据共享使用注意事项:示例: 三、jQuery 使用 JSONP四、热门文章 一、noConflict() 方法 jQuery.noConflict() 方法是 …

娄底北京网站建设吉林省建设安全信息网站

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 车辆档案模块2.4 车辆理赔模块2.5 理赔照片模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 车辆表3.2.3 理赔表3.2.4 理赔照片表 四、系统展示五、核心代码5.1 查询车…

免费用搭建网站微信h5页面是什么

AcWing 787. 归并排序 文章目录 题目描述CGo模板 题目描述 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有…

别再混淆 PHP8.1 中纤程 Fibers 和协程 Coroutines 了 一文搞懂它们的区别

别再混淆 PHP8.1 中纤程 Fibers 和协程 Coroutines 了 一文搞懂它们的区别 PHP 从早期那个只能写动态网页的简单脚本语言,发展到现在已经走了很远。PHP 8.1 的发布带来了一个特别令人兴奋的新功能:纤程(Fibers)——…

HTTP Request Blocker的下载与使用 - 实践

HTTP Request Blocker的下载与使用 - 实践2025-09-24 08:17 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

学做网站赚钱方法wordpress 运行天数 小工具

考研计算机网课辅导哪个好?面对市面上如此之多的考研辅导,怎么选择成了很多学员的难题。现在的在线教育水平很高了,特别是在考研辅导上,学习自由,配套服务全面。找培训还是要看老师,比较牛叉的注会老师如张…

织梦网站模板视频教程宠物 wordpress

文章目录 写在前面Tag题目1方法一:动态规划方法二:空间优化 题目2方法一:动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主…

杭州九鸿科技网站开发威海建设集团网站首页

有如下的实体对象 public class BookEntity {private String desc; }查询操作的时候会报错SQL错误 解决方法 在字段属性上加注解,用反引号包裹属性值 public class BookEntity {TableField("desc")private String desc; }参考 解决MySQL 中使用index…

多人视频网站开发公司厦门建设局

本文简要介绍我们刚刚被WSDM2021会议录用并即将发表的论文"Time-Series Event Prediction with Evolutionary State Graph"(论文地址),在文中我们提出了一种将时序转化为图进行表示建模的方法。同时我们把所实现的方法落地为阿里云SLS的智能巡检服务&…

科技公司网站模板官网wordpress用户注册设置

目录 三、存储虚拟化(一)存储虚拟化的一般模型(二)存储虚拟化的实现方式(三)案例分析 四、网络虚拟化(一)核心层网络虚拟化(二)接入层网络虚拟化(…

h5平台网站开发百度网址大全简单版

java springmvc 注册中央调度器代码解析发布时间:2020-08-22 20:58:23来源:脚本之家阅读:107作者:荆棘人这篇文章主要介绍了java springmvc 注册中央调度器代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工…

校园网网站的安全建设方案上海网站开发与

一、实验拓扑 二、实验目的 PVLAN可以通过主VLAN和辅助VLAN的概念,部署隔离技术,实现用户间的互访控制。 三、实验配置 SW2 Ruijie >enable Ruijie #configure terminal Ruijie (config)#vlan 20 Ruijie (config-vlan)#private-vlan community …

南宁网站设计平台网站权限怎么设置

5月已经过去,同时也标志着今年上半年手机的发布已经告一段落。那么在这段时间里,智能手机的性价比如何呢?考虑到现在已经开始步入5G时代,所以智能手机的价格也是普遍上涨,想要找到一款性价比不错的手机似乎有些难度。现…

资阳网站优化网站的维护和建设

文章目录 Intro解决流程总结前置信息了解npm 镜像源三个要用到的npm命令 官方源确认查看当前镜像源的详情解决: 切换镜像源后重试重新操作 事后感受 Intro 事由是今天我在用 create-react-app 新建一个用于测试的前端项目。 然后就出现以下报错: wuyuj…

NeurIPS 2025 spotlight |FSDrive 自动驾驶最新VLA+世界模型 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …