专门做视频点评的网站,做网站手机端需要pc端的源代码吗,做网站页面大小多大,自己做网站教学视频教程有人问#xff0c;tkinter可以做出多复杂的界面#xff1f; 其实tkinter本身就是个轻量化的GUI开发工具#xff0c;不适合做复杂的交互界面#xff0c;那些炫技的其实很多是花架子#xff0c;不实用#xff0c;真要开发复杂美观的交互界面#xff0c;可以去用PyQt、wxP…有人问tkinter可以做出多复杂的界面其实tkinter本身就是个轻量化的GUI开发工具不适合做复杂的交互界面那些炫技的其实很多是花架子不实用真要开发复杂美观的交互界面可以去用PyQt、wxPython。因为tkinter就像是一个随拿随用的小工具箱你用它做个小板凳、小椅子是可以的但不能指望它造汽车而PyQt、wxPython则像一个大型制造车间工具齐全、流程完善汽车飞机大炮都可以造。这几天我刚好用tkinter搭建了一个数据采集工具可以自定义去采集各大专利网站的专利数据对专利相关的行业挺有用的界面如下除了tkinter之外还会用到Python的requests、pandas等工具包requests通过亮数据网页解锁API去请求数据这样能直接绕过繁琐的反爬机制并且能保证合规性。pandas用来处理采集到的数据比如格式调整、脏数据清洗等。这里简单介绍下什么是亮数据网页解锁API这是整个开发环节的难点。各大专利数据库对于爬虫采集防范措施很严会采用JavaScript 动态渲染、 CAPTCHA验证、IP封锁、浏览器指纹检测等方法去阻止自动化采集程序所以难度是非常高的。最重要的一点是得确保数据采集的安全性这些专利数据是公开数据原则上没问题但数据采集过程不能干扰到网站的正常运行还得符合不同国家的合规性要求。亮数据会把处理这些拦截机制的技术封装到一个API里比如代理ip池、解锁器、动态处理、cookies管理等它支持通过python、javascript等编程语言去调用这样就大大降低了数据采集难度可以集中精力去开发系统和分析数据。https://get.brightdata.com/weijun要说明下这个GUI系统仅是个人测试研究用的试验品且是demo版本不用作任何的商业用途。接下来是开发前的环境配置和系统准备。首先是Python 环境建议用Python 3.8或更高版本并通过pip安装好以下几个第三方工具包tkinter是内置模块不需要再安装。requests用于发送 HTTP 请求与Brightdata API交互BeautifulSoup用于解析HTML内容pandas用于数据处理和存储threading用于实现多线程批量查询接下来是获取亮数据API密钥需要在亮数据官网注册一个账号登录后在控制台中创建一个Web Unlocker项目你会看到API Key这个密钥是访问Web Unlocker服务的凭证一定要保存好。https://get.brightdata.com/weijun控制台中会提供示例代码可以作为requests采集的主代码模板。这里要注意API的使用限制免费试用账号通常有流量限制正式使用需要购买套餐。进入开发建议创建一个专门的项目目录比如 patent_search_system然后在该目录下创建以下文件。main.py主程序文件组合所有模块patent_scraper.py封装requests请求亮数据API模块parse.py网页数据解析模块gui_interface.py创建专利数据采集可视化交互界面模块excel_exporter.py专利数据Excel导出模块这次采集的专利数据源主要有2个USPTO美国专利商标局、Google Patent谷歌专利为了统一管理这两个数据源系统采用了抽象工厂模式设计每个数据源都实现了相同的接口包括detect_query_type检测查询类型专利号还是关键词search_across_sources跨源检索并解析专利batch_search批量检索这样设计的好处是当需要添加新的数据源时只需要实现这些接口即可不需要修改主程序的代码提高了系统的可扩展性。为了让不同数据源的查询结果能够统一展示系统定义了一套标准的数据结构。每个专利记录包含以下核心字段字段名说明数据类型patent_number专利号字符串title专利标题字符串country国别字符串如 CN、US、EPapplication_date申请日期日期格式inventors发明人列表列表technology_field技术领域字符串source来源字符串最终实现的功能界面如下这个数据结构参考了专利信息的国际标准应该能够满足大多数应用场景的需求在数据解析阶段系统会将从不同数据源获取的原始数据转换为这个标准格式。这里面涉及到一个最重要的开发环节是封装Web Unlocker调用去请求不同站点的网页数据需要填写之前申请的unlock api key信息并按照模板开发代码。获取网页数据后再对不同站点的字段信息进行解析需要你进入开发者界面根据页面结构做优化。再开发数据导出功能使用pandas包来实现。开发好关键模块后再开发GUI交互界面将整个采集的功能和数据集成在系统上。最后执行主程序main.py打开一个GUI程序输入关键词进行模糊查询就能得到结果。这样就用Python结合亮数据搭建一个完整的数字化应用将各种专利站点数据集中到一个专利查询系统里可以批量检索、导出数据大大节省了时间。