0

爬取珍爱网后用户信息展示

golang爬取珍爱网,爬到了3万多用户信息,并存到了elasticsearch中,如下图,查询到了3万多用户信息。 先来看看最终效果: 利用到了go语言的html模板库: 执行模板渲染: model.SearchResult数据结构如下: html <!DOCTYPE html Love Sear ...

码农实战 发布于 2019-10-18 00:34 评论(0)阅读(0)
0

爬虫遇到了点问题

golang爬珍爱网代码优化后,运行报了如下的错,找了半小时才找到原因,在此记录一下。 代码是这样的: 有一个interface类型的Parser: 有一个struct类型的FuncParser: FuncParser 实现了Parser 接口: 抛开爬虫代码整体的复杂度,将代码简化到如下这样: 同 ...

码农实战 发布于 2019-10-18 00:31 评论(0)阅读(1)
0

爬虫性能分析及优化

前两天我们写了单任务版爬虫爬取了珍爱网用户信息,那么它的性能如何呢? 我们可以通过网络利用率看一下,我们用任务管理器中的性能分析窗口可以看到下载速率大概是保持在了200kbps左右,这可以说是相当慢了。 我们针对来通过分析单任务版爬虫的设计来看下: 从上图我们可以看出,engine将request从 ...

码农实战 发布于 2019-10-18 00:29 评论(0)阅读(3)
0

用go语言爬取珍爱网 | 第三回

前两节我们获取到了城市的URL和城市名,今天我们来解析用户信息。 "用go语言爬取珍爱网 | 第一回" "用go语言爬取珍爱网 | 第二回" 爬虫的算法: 我们要提取返回体中的城市列表,需要用到城市列表解析器; 需要把每个城市里的所有用户解析出来,需要用到城市解析器; 还需要把每个用户的个人信息解析 ...

码农实战 发布于 2019-10-18 00:26 评论(0)阅读(7)
0

用go语言爬取珍爱网 | 第二回

昨天我们一起爬取珍爱网首页,拿到了城市列表页面,接下来在返回体城市列表中提取城市和url,即下图中的a标签里的href的值和innerText值。 提取a标签,可以通过CSS选择器来选择,如下: $(' cityList dd a');就可以获取到470个a标签: 这里只提供一个思路,go语言标准库 ...

码农实战 发布于 2019-10-18 00:23 评论(0)阅读(6)
0

用go语言爬取珍爱网 | 第一回

我们来用go语言爬取“珍爱网”用户信息。 首先分析到请求url为: http://www.zhenai.com/zhenghun 接下来用go请求该url,代码如下: 运行后会发现返回体里有很多乱码: 在返回体里可以找到 即编码为gbk,而go默认编码为utf 8,所以就会出现乱码。接下来用第三方库 ...

码农实战 发布于 2019-10-18 00:21 评论(0)阅读(9)
0

NAT模式实现虚拟机共享主机网络

上一节我们在虚拟机上搭建了linux系统,并利用桥接模式访问互联网,这一节,我们来配置一下通过NAT模式访问互联网。说到这里有些小伙伴可能要问了,NAT模式和桥接模式有什么区别呢? 桥接模式: 虚拟机虚拟出来的系统和局域网内的独立主机属于同等地位,它可以访问局域网内任何一台机器,该模式下,我们得为虚 ...

码农实战 发布于 2019-10-18 00:19 评论(0)阅读(6)
0

运算符的基本概念以及常用Scanner、随机数Random、选择结构的初步了解

运算符 分类 算术运算符 位运算符 关系运算符|比较运算符 逻辑运算符 条件运算符 赋值运算符 其中优先级顺序从上到下,可以记忆口诀:单目乘除位关系,逻辑三目后赋值 操作数: 运算符左右两边的数 表达式: 运算符连接操作数整体叫做表达式 语句: 分号代表语句的结束 单目|一元运算符: 操作数为1个 ...

随风而逝枫叶已落 发布于 2019-10-18 00:18 评论(0)阅读(3)
0

推荐一款超好用的工具cmder

今天来推荐一个超级好用的命令行工具:cmder 一款Windows环境下非常简洁美观易用的cmd替代者,它支持了大部分的Linux命令。支持ssh连接linux,使用起来非常方便。比起cmd、powershell、conEmu,其界面美观简洁,功能强大。下面来看看效果: 上面演示了linux下的ls ...

码农实战 发布于 2019-10-18 00:14 评论(0)阅读(15)
0

golang初探与命令源码分析

前段时间有群友在群里问一个go语言的问题: 就是有一个main.go的main函数里调用了另一个demo.go里的hello()函数。其中main.go和hello.go同属于main包。但是在main.go的目录下执行go run main.go却报hello函数没有定义的错: 代码结构如下: m ...

码农实战 发布于 2019-10-18 00:12 评论(0)阅读(8)
0

LAMP环境部署物联网项目

今天来在LAMP环境下搭建一个PHP项目,开始之前,先来普及下物联网常识: 物联网,即Internet of Things,简写IOT。让所有能行使独立功能的普通物体实现互联互通的网络,通过物联网可以用中心计算机对机器、设备、人员进行集中管理、控制,实现物物相连。近几年物联网在运输、物流、健康医疗、 ...

码农实战 发布于 2019-10-18 00:02 评论(0)阅读(13)
0

linux上安装LAMP笔记

B哥最近在参加比赛,需要把一个php项目部署到服务器上,故此在linux上安装LAMP环境,用于部署项目,第一次安装,做点儿笔记记录一下。 安装条件: Redhat或者CentOS linux环境已装好,并配置了yum源。 用yum安装httpd、mariadb、php 安装httpd: 安装mar ...

码农实战 发布于 2019-10-17 23:56 评论(0)阅读(10)
0

[PHP] vscode配置SFTP扩展同步文件

在我们的项目开发过程中,经常有一种模式,有一台linux的开发机作为我们的测试机器,上面安装了ftp服务。我们在windows系统的本地机器使用IDE编写代码,自动或者保存时同步上传到测试机下,这样就可以实时进行查看效果了,所以就需要IDE来配置一个ftp的上传插件 vscode可以安装一下sftp ...

陶士涵 发布于 2019-10-17 23:39 评论(0)阅读(5)
0

六、显式锁和AQS

显式锁和AQS 一、显式锁 ​ Synchronized 关键字结合对象的监视器,JVM 为我们提供了一种『内置锁』的语义,这种锁很简便,不需要我们关心加锁和释放锁的过程,我们只需要告诉虚拟机哪些代码块需要加锁即可,其他的细节会由编译器和虚拟机自己实现。 ​ 可以将我们的『内置锁』理解为是 JVM ...

ねぇ 发布于 2019-10-17 23:38 评论(0)阅读(6)
0

Java线程状态和关闭线程的正确姿势

1、线程状态及切换 Java中的线程有六种状态,使用线程Thread内的枚举类来实现,如下,我对每个状态都进行了一定的解释。 除了NEW和TERMINATED之外,其他的状态都是可以相互转换的,其转换过程如下图所示 这里特别讲一下RUNNABLE状态,在这个状态中线程并不一定在执行程序,只有被JVM ...

张小云的博客 发布于 2019-10-17 23:37 评论(0)阅读(24)
0

Java 注解

1 /** 2 * 标注 3 * : Java应用主要有两种配置方式。 4 * xml: 做配置文件 5 * perperties:属性文件 6 * json:做配置 7 * 注解:(做配置) 8 */ 9 public class Demo02 { 10 @Override //重写注解 11 p ...

张泽 发布于 2019-10-17 23:20 评论(0)阅读(8)
0

Thymeleaf常用语法:数据迭代

Thymeleaf数据迭代使用th:each属性,可以迭代数组、List、Set和Map等,数组、List、Set的迭代方法类似,迭代Map则会得到一个java.util.Map.Entry对象。 在迭代过程中,还可以获取迭代状态的变量,如迭代索引、数据集合大小等等。 ...

gdjlc 发布于 2019-10-17 23:14 评论(0)阅读(5)
0

Django框架篇-7.模型层

ORM简介 学习orm之前,先记住这张图: MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是“对象-关系 ...

郭少 发布于 2019-10-17 23:05 评论(0)阅读(3)
0

opencv——常见的操作

一 图像阈值处理 准备一张灰度图像 阈值处理通常是设定一个阈值,让图片的所有像素点的值与其比较做出一系列的操作。 在opencv常用的阈值处理函数有五种,分别是THRESH_BINARY、THRESH_BINARY_INV、THRESH_TRUNC、THRESH_TOZERO、THRESH_TOZE ...

小可爱真是太好了 发布于 2019-10-17 22:45 评论(0)阅读(5)
0

分享Python知识的第三天

python第一节 1.变量 变量,是用于在内存中存放程序数据的容器 计算机的核心为“计算”,计算便需要数据源,数据源要存在内存中方便使用,这时就要用到变量,比如把某人吗名字,年龄等信息存在内存中,就需要设置“变量名=值”,例如 之后需要取用的时候,直接调用变量名 1.1变量的定义规则 1. 变量名 ...

Free_thinker_py 发布于 2019-10-17 22:34 评论(0)阅读(28)