FLEX

Python爬取网页信息

筅森魡賤 提交于 2021-01-23 05:26:02
Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例。 1、确认网址 在浏览器中输入初始网址,逐层查找链接,直到找到需要获取的内容。 在打开的界面中,点击鼠标右键,在弹出的对话框中,选择“检查”,则在界面会显示该网页的源代码,在具体内容处点击查找,可以定位到需要查找的内容的源码。 注意:代码显示的方式与浏览器有关,有些浏览器不支持显示源代码功能(360浏览器,谷歌浏览器,火狐浏览器等是支持显示源代码功能) 步骤图: 1)首页,获取A~Z的页面链接 2)名字链接页,获取每个字母中的名字链接(存在翻页情况) 3)名字内容页,获取每个名字的评论信息 2、编写测试代码 1)获取A~Z链接,在爬取网页信息时,为了减少网页的响应时间,可以根据已知的信息,自动生成对应的链接,这里采取自动生成A~Z之间的连接,以pandas的二维数组形式存储 1 def get_url1(): 2 urls= [] 3 # A,'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' 4 a=[ ' A ' , ' B ' , ' C ' , ' D ' , '

MySQL基础架构之查询语句执行流程

…衆ロ難τιáo~ 提交于 2021-01-18 06:53:49
这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的。 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条语句执行流程之前,我们看看mysql的基础架构。 图来自极客时间的mysql实践,该图是描述的是MySQL的逻辑架构。 server层包括连接器、查询缓存、分析器、优化器、执行器涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视等。 存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB、MyISAM、Memory 等多个存储引擎,平常我们比较常用的是innoDB引擎 连接器 我们在使用数据库之前,需要连接到数据库,连接语句是 mysql -h $ip -u $username -p $password 而我们的连接器就是处理这个过程的,连接器的主要功能是 负责跟客户端建立连接、获取权限、维持和管理连接 ,连接器在使用的过程中如果该用户的权限改变,是不会马上生效的,因为用户权限是在连接的时候读取的,只能重新连接才可以更新权限 连接器与客户端通信的协议是 tcp 协议的,连接以后可以使用 show processlist; 看到执行的连接数 同时在连接时间内超过8小时是sleep的状态会自动断开

Jenkins 共享库使用示例

寵の児 提交于 2021-01-14 17:22:28
如果你经常使用 Jenkins Pipeline 一定会遇到多个不同流水线中有大量重复代码的情况,很多时候为了方便我们都是直接复制粘贴到不同的管道中去的,但是长期下去这些代码的维护就会越来越麻烦。为了解决这个问题,Jenkins 中提供了共享库的概念来解决重复代码的问题,我们只需要将公共部分提取出来,然后就可以在所有的 Pipeline 中引用这些共享库下面的代码了。 共享库是什么? 共享库(shared library)是一些 独立的 Groovy 脚本的集合 ,我们可以在运行 Pipeline 的时候去获取这些共享库代码。使用共享库最好的方式同样是把代码使用 Git 仓库进行托管,这样我们就可以进行版本化管理了。当然我们也需要一些 Groovy 语言的基础,不过并不需要多深入,基本的语法概念掌握即可,可以查看前面我们的 Groovy 简明教程 。 使用共享库一般只需要3个步骤即可: 首先创建 Groovy 脚本,添加到 Git 仓库中 然后在 Jenkins 中配置将共享库添加到 Jenkins 中来 最后,在我们的流水线中导入需要使用的共享库: @Library ( 'your-shared-library' ) ,这样就可以使用共享库中的代码了。 共享库内容 在共享库中一般会有两种通用的代码: Steps :这些 Steps 在 Jenkins 中被称为 全局变量

用维阵还原 Zyxel 后门漏洞

十年热恋 提交于 2021-01-13 09:56:11
作者:km1ng@极光无限维阵漏洞团队 原文链接: https://mp.weixin.qq.com/s/Ol3B3PFLLXLFF8ThA9nxEg 一、简介 荷兰网络安全公司Eye Control的安全研究人员发现,超过10万个合勤科技(Zyxel)公司的防火墙、接入点控制器和VPN网关产品中存在管理员级后门账户。这些在二进制代码中硬编码的管理员级别账户使攻击者可通过Web管理面板或SSH界面获得对设备的root访问权限。合勤科技(Zyxel)是一家位于中国台湾新竹的网络设备制造商。 Zyxel固件中发现的后门漏洞cve编号为cve-2020-29583等分为7.8 CVSS 二、影响范围 cve官网上表示USG设备4.60,真实影响范围如下: zyxel:ap_controller_nxc_2500: zyxel:ap_controller_nxc_5500: zyxel:atp_firmware: 4.60 zyxel:usg_firmware: 4.60 zyxel:usg_flex_firmware: 4.60 zyxel:vpn_firmware: 4.60 三、固件后门分析 3.1、固件下载 下载链接: https://portal.myzyxel.com/my/firmwares 需要注册账户登录,选择USG40固件,4.60版本下载。如下图所示

Oracle中真正稳妥的求三甲的方法

旧巷老猫 提交于 2021-01-09 05:17:35
坐地铁回家路上忽然想起,三甲排名可能为多个,只取三名岂不荒谬。不信请看下面数据: create table tb_score( id number ( 4 , 0 ) primary key , name nvarchar2( 20 ) not null , score integer not null ) insert into tb_score values ( ' 1 ' , ' Andy ' , ' 100 ' ); insert into tb_score values ( ' 2 ' , ' Bill ' , ' 99 ' ); insert into tb_score values ( ' 3 ' , ' Cindy ' , ' 100 ' ); insert into tb_score values ( ' 4 ' , ' Douglas ' , ' 99 ' ); insert into tb_score values ( ' 5 ' , ' Eliot ' , ' 98 ' ); insert into tb_score values ( ' 6 ' , ' Flex ' , ' 98 ' ); insert into tb_score values ( ' 7 ' , ' Hellen ' , ' 98 ' ); insert into tb_score

CSS解决盒模型居中的问题

做~自己de王妃 提交于 2021-01-07 14:52:31
CSS实现盒子模型水平居中、垂直居中、水平垂直居中的多种方法 CSS实现盒子模型水平居中的方法 全局样式 .parent { color: #FFFFFF; height: 200px; width: 200px; margin: 0 auto; background-color: #000000; } .child { width: 50px; height: 50px; background-color: #26f12d; } 第一种:margin+width 这种方法适用于已经知道width的盒子,实现起来比较简单 <div class="parent"> <div class="child"></div> </div> .child { width: 50px; margin: 0 auto; } 第二种:text-align+inline-block 这种方法适用于多种场景(width不固定) <div class="parent"> <div class="child"></div> </div> .parent { text-align:center; } .child { display: inline-block; } 第三种:float+position 这种方法适用于多种场景(width不固定) <div class="parent"> <div class=

项目中使用的前端组件总结

让人想犯罪 __ 提交于 2021-01-07 14:51:49
今年下半年在新项目中,实践了前后端分离技术。后端使用spring cloud微服务。安全框架使用了Spring Security,并集成了Oauth2认证。前端技术使用里Angular 6,UI框架使用了Material。在项目开发过程中,使用里一些非常好用的、优秀的前端ng组件。 组件 @angular/flex-layout Angular Flex Layout使用Flexbox CSS + mediaQuery提供复杂的布局API。 此模块使用自定义布局API,mediaQuery observables和注入的DOM flexbox-2016 CSS样式为Angular开发人员提供组件布局功能。 Flex布局引擎智能地自动化将适当的Flexbox CSS应用于浏览器视图层次结构的过程。 这种自动化还解决了传统的,手动的,仅CSS的盒子CSS应用程序遇到的许多复杂性和变通方法。 然而,Flex Layout的真正强大之处在于它的响应引擎。 响应式API使开发人员能够轻松指定不同视口大小和显示设备的不同布局,大小,可见性。 moment 一个轻量级的JavaScript日期库,用于解析,验证,操作和格式化日期。 @angular/material-moment-adapter moment 在Angular框架中的适配组件。 ng2-cookies

微信小程序开发显示城市天气

柔情痞子 提交于 2021-01-07 08:04:31
本案例实现动态显示城市天气的功能,案例效果如下: 首先分析制作的思路: 1.在app.json文件的pages数组里加上main文件夹和template(模板)文件夹的路径。 2.在main.js文件中,在onLoad()函数中调用loadInfo()函数。 3. 自定义获取位置的函数loadInfo(),调用wx.getLocation,用于获取当前的纬度(latitude)和经度(longitude)。在loadInfo()函数中接着调用loadCity()函数。 4. 自定义获取城市的函数loadCity(),调用wx.request,在“百度地图开放平台”网站中注册自己的AK,通过获取城市信息的网址(http://api.map.baidu.com/geocoder/v2/?ak=自己的ak&location=纬度值,经度值&output=json)实现当前城市名称的获取。 在loadCity()函数中接着调用loadWeather()函数。 5.自定义获取天气的函数loadWeather(),根据已有的城市名称,通过获取天气信息的网址(http://wthrcdn.etouch.cn/weather_mini?city=城市名)实现天气信息的数据获取。 6.在main.wxml文件中,未来天气部分通过import调用了自定义模板文件itemtpl.wxml。

微信小程序开发实战-天气小程序

拜拜、爱过 提交于 2021-01-07 07:52:30
园龄6年8个月了,还一篇文章都没写过,惭愧! 最近周末做了个天气预报小程序,在这里整理一下开发过程和注意点,给对小程序开发感兴趣的伙伴们提供点参考。 废话不多说,先上图最终效果: 下面进入正文: 第一步 准备 0. 把微信小程序开发文档过一遍。 https://developers.weixin.qq.com/miniprogram/dev/framework/ 作为程序员,就要从0开始计数。 1. 下载安装微信开发者工具( https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html ),这个就不多说了。 2. 设计产品原型,我们要把产品做成什么样。 先晒一下第一版的原型,比较丑,见谅。(第一版丑和简陋先忍,后面可以迭代) 下面的代码也会是第一版,功能没有上面扫码看到的那么多。我是希望能从0开始写起,然后把每次迭代也写上,让大家能看到一个项目是怎么从第一版最简陋的功能,逐步功能丰富和完善。这才是一个项目真正的开发过程。一开始就做的很复杂很完备的,往往容易难产。 然后我们接口需要向页面提供的信息就明确了:位置名、实时温度、天气文字、空气文字、今日日期、今日天气状况。 第二步 启程 开发小程序前端页面 【10点20了,终于下班到家,有时间继续补充了】 0.新建项目 打开微信开发者工具,创建一个新项目

grid实现圣杯布局和瀑布流的实现

元气小坏坏 提交于 2021-01-06 18:33:09
上周五的职业技能等级认定考试,社保局弄的一个考试,强制都必须参加,我的是四级试题,大佬他们都是三级高级水准的题目。上午理论,下午上机实操,其中上机题是完成一个静态页面。 因为周末帮洋仔写项目代码还有打球,所以没时间码字,正好现在得空整理总结一下。 题目如下,其实前端基础不扎实的可以拿这个练练手。 实现效果如下: ‍ 圣杯布局是 特指三行 布局, 头尾固定,中间内容 分三列,左右固定, 中心 自适 应。 这里布局没有使用拿手的flex实现,而是用了上周刚看的grid网格布局实现。 划水的时候多学学新技术,以后跳槽面试更方便。 网格布局的确很强大,因为属性太多还没完全掌握,相关总结还要再积累积累才能写。 html <div class = "container" > <div class = "item item-1" >header</div> <div class = "item item-2" >aside</div> <div class = "item item-3" ></div> <div class = "item item-4" >aside</div> <div class = "item item-5" >footer</div> </div> css .container { height : 100vh ; display : grid; grid