python爬虫学习路径

2019-11-27
阅读 2 分钟
3.7k
豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索用户的舆论导向。淘宝、京东:抓取商品、评论及销量数据,对各种商品及用户的消费场景进行分析。搜房、链家:抓取房产买卖及租售信息,分析房价变化趋势、做不同区域的房价分析。拉勾、智联:爬取各类职位信息,分析各行业人才需求情况及薪资水平。雪球网:抓取...

抓取博客园首页文章

2019-11-24
阅读 2 分钟
1.5k
首先命令行创建project,然后依次编写各项文件。 item文件 {代码...} spider文件 {代码...} pipelines文件 {代码...} 更改setting文件 {代码...} 编写main文件 scrapy是不能在编译器里面调试的,但可以写一个主文件,运行这个主文件就可以像普通的工程一样在编译器里调试了。代码如下: {代码...}

pyhton中__pycache__文件夹的产生与作用

2019-11-23
阅读 1 分钟
7.4k
用python编写了一个工程,但在第一次运行后,发现工程根目录下生成了一个__pycache__文件夹,里面是和py文件同名的各种以.cpython-35.pyc结尾的文件。cpython-35各项意义,cpython代表的是c语言实现的Python解释器,-35代表的是3.5版本。至于pyc,需要先了解一下模块的调用。

tcp/udp简单例子

2019-11-23
阅读 2 分钟
1.9k
tcp 服务端: {代码...} 客户端: {代码...} udp 服务端: {代码...} 客户端: {代码...} 参考文章 python下的tcp python 报错:str=input() File "", line 1, in NameError: name 'hello' is not defined Python TCP和UDP编程例子

scrapy介绍

2019-11-22
阅读 3 分钟
1.5k
Spiders:爬虫,定义了爬取的逻辑和网页内容的解析规则,主要负责解析响应并生成结果和新的请求;Engine:引擎,框架的核心,处理整个系统的数据流处理;Scheduler:调度器,接受引擎发过来的请求,并将其加入队列中,在引擎再次请求时将请求提供给引擎;Downloader:下载器,下载网页内容,并将下载内容返回给spider;I...

python线程

2019-11-21
阅读 4 分钟
1.5k
Python标准库提供了两个线程模块:_thread和threading。_thread 提供了低级别的、原始的线程以及一个简单的互斥锁,相比threading模块的功能还是比较有限的。threading模块是_thread模块的替代,在实际开发中,绝大多数情况下还是使用高级模块threading。

如何使用python+opencv识别二维码

2019-11-01
阅读 1 分钟
6.6k
参考文章 python+opencv检测图片中二维码 利用opencv提取目标区域 opencv实时识别指定物体 基于opencv+python的二维码识别 Python二维码应用(一)QRcode二维码生成&识别 Python3 生成和识别二维码

ESP32:mdns协议

2017-11-25
阅读 1 分钟
9.5k
mdns(即多播dns,Multicast DNS)主要实现了在没有传统DNS服务器的情况下使局域网内的主机实现相互发现和通信,使用的端口为5353,遵从dns协议,使用现有的DNS信息结构、语法和资源记录类型,并且没有指定新的操作代码或响应代码。

ESP32:错误处理

2017-11-24
阅读 3 分钟
14k
执行make menuconfig,依次进入component config -> Wifi -> Wifi NVS Flash,禁选该选项,编译烧录后即可。

ESP32:系统初始化启动过程

2017-11-24
阅读 3 分钟
10.4k
esp32开发程序中有且只能有一个app_main函数,该函数是用户程序的入口,相当于其它系统中的main函数。但在app_main之前,系统还有一段初始化的过程,其大致可以分为以下三个过程:

ESP32:hello world

2017-11-23
阅读 5 分钟
4.6k
前面一篇文章已构建了开发环境,接下来基于已有的环境,构建第一个应用程序。首先创建一个存放工程的目录,接下来直接将sdk目录下的hello world例子内容拷贝到该目录。内容如下:

ESP32:搭建Ubuntu开发环境

2017-11-22
阅读 7 分钟
18.2k
解压后的工具链位于路径/opt/esp/xtensa-esp32-elf下面,该目录下面的bin目录就是用来编译ESP-IDF工程所需的工具。如果要使系统能够直接使用这些程序,需要将这个bin文件夹路径添加到系统的环境变量PATH中去,这里直接使用echo命令将其添加到脚本文件~/.bashrc中(系统每次启动时都会执行这个脚本)。第一次添加后需要对...

OpenWrt:libubox之ustream

2017-11-22
阅读 5 分钟
4.9k
数据结构: {代码...} 初始/销毁 {代码...} 写入read buffer: {代码...} 读出read buffer(一般在notify_read()回调接口使用): {代码...} 操作write buffer,尽最大能力调用write()回调用接口写入,如果超出能力将把未写入的数据存储在write buffer中。 {代码...} 把在write buffer中的数据写入实际地方,调用write()...

OpenWrt:libubox之uloop

2017-11-20
阅读 2 分钟
6.5k
数据结构: {代码...} 事件回调函数: {代码...} 事件标志: {代码...} 主框架: {代码...} 描述符事件: {代码...} 定时器事件: {代码...} 进程事件: {代码...} 参考文章 事件处理循环libubox中uloop库的使用libubox-uloop

OpenWrt:libubox之usock

2017-11-20
阅读 2 分钟
5.7k
usock即是对网络套接字连接的简单封装。 类型标志: {代码...} 接口函数: {代码...} 客户端代码: {代码...} 服务端代码: {代码...}

线程存储简介

2017-11-19
阅读 2 分钟
2.3k
在多线程程序中,所有线程共享程序中的变量。Linux有一全局变量,所有线程都可以使用它,改变它的值。如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所有线程都可以使用它,但它的值在每一个线程中又是单独存储的。

C++引用计数技术及智能指针

2017-11-19
阅读 1 分钟
2.7k
智能指针是一个类,它对普通指针进行封装,使智能指针类对象具有普通指针类型一样的操作。具体而言,复制对象时,副本和原对象都指向同一存储区域,如果通过一个副本改变其所指的值,则通过另一对象访问的值也会改变,所不同的是,智能指针能够对内存进行进行自动管理,避免出现悬垂指针等情况。

SSL编程简介

2017-11-18
阅读 3 分钟
6.9k
OpenSSL是一个开放源代码的SSL协议实现,采用C语言作为开发语言,具备了跨系统的性能。调用OpenSSL的函数就可以实现一个SSL加密的安全数据传输通道,从而保护客户端和服务器之间数据的安全。

OpenWrt:ubus编译安装

2017-11-18
阅读 4 分钟
11.4k
ubus为openwrt平台开发中的进程间通信提供了一个通用的框架,它让进程间通信的实现变得非常简单,并且ubus具有很强的可移植性,可以很方便地移植到其他linux平台上使用。ubus源码可通过Git库git://nbd.name/luci2/ubus.git获得,其依赖的ubox库的git库git://nbd.name/luci2/ubox.git。

OpenWrt:libubox之list

2017-11-17
阅读 3 分钟
3.6k
libubox里面的list(仔细看一下它应该是从内核中移植过来的)可称之为侵入式链表,这种list最突出的特征就是其节点中不含有任何数据,相反,list节点是嵌入到特定的数据结构中的。这样做有两点好处:

OpenWrt:libubox之md5和ulog

2017-11-17
阅读 3 分钟
4.3k
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。

OpenWrt:libubox编译安装

2017-11-15
阅读 3 分钟
10.7k
libubox是openwrt新版本中的一个基础库,有很多应用是基于libubox开发的,如uhttpd,odhcpd,libubus等。 libubox主要提供以下两种功能: 提供一套基于事件驱动的机制; 提供多种开发支持接口,如链表、kv链表、平衡查找二叉树、md5、json等。 使用libubox开发的好处有如下几点: 可以使程序基于事件驱动,从而可实现在单...

OpenWrt:TLV格式编解码

2017-11-15
阅读 1 分钟
3.2k
TLV(Type表示数据的类型,Lenght表示数据的长度,Value表示数据值)是一种可变格式,Type和Length的长度固定(一般那是2、4个字节),Value的长度由Length指定。

mbedtls 入门

2017-11-14
阅读 3 分钟
17.1k
ARM mbedtls使开发人员可以非常轻松地在嵌入式产品中加入加密和SSL/TLS功能。它提供了具有直观的API和可读源代码的SSL库,可以在大部分系统上直接构建它,也可以手动选择和配置各项功能。mbedtls库提供了一组可单独使用和编译的加密组件,还可以使用单个配置头文件加入或排除这些组件。从功能角度来看,该mbedtls分为三...

AliOS Things

2017-11-14
阅读 1 分钟
6.3k
文章摘自:[链接] AliOS Things是AliOS家族旗下的、面向IoT领域的、轻量级物联网嵌入式操作系统。AliOS Things将致力于搭建云端一体化IoT基础设施,具备极致性能、极简开发、云端一体、丰富组件、安全防护等关键能力,并支持终端设备连接到阿里云Link,可广泛应用在智能家居、智慧城市、新出行等领域。

sigslot信号槽机制

2017-11-06
阅读 2 分钟
5.1k
sig/slot机制就是对象之间发送和接收消息的机制。sigslot是一个线程安全、类型安全,用C++实现的sig/slot机制的开源代码库,只有sigslot.h一个头文件,基本功能有connect、disconnect及emit。

OpenWrt:Samba配置

2017-11-05
阅读 2 分钟
9.6k
配置编译 执行make menuconfig进入配置界面,进行如下设置: {代码...} 若需要web页面控制,则按如下配置: {代码...} 执行make -j8 V=99进行编译。 安装配置 安装samba服务: {代码...} 修改模板文件/etc/samba/smb.conf.template: {代码...} 配置共享目录,修改/etc/config/samba文件: {代码...} 执行smbpasswd -a r...

OpenWrt:motion的使用

2017-11-05
阅读 5 分钟
5k
之前的文章介绍了在openwrt系统下使用mjpeg-streamer实现摄像头监控,同时也顺便介绍了如何配置编译motion。motion能够实现当摄像头中的视频内容有变化时自动拍照保存,有了这个功能就能实现自动上传、发送邮件、短信通知之类的功能了。

Linux gpio口使用方法

2017-11-03
阅读 2 分钟
3k
使用gpio接口需要包含#include <linux/gpio.h>,在驱动中使用延时函数mdelay,需要包含#include <linux/delay.h>,Documentation/gpio.txt文件有作详细说明。

OpenWrt:iperf测试网络性能

2017-11-02
阅读 6 分钟
11.9k
iperf是美国伊利诺斯大学(University of Illinois)开发的一种开源的网络性能测试工具。可以用来测试网络节点间(包括回环)TCP或UDP连接的性能,包括带宽、抖动以及丢包率,其中抖动和丢包率适应于UDP测试,而带宽测试适应于TCP和UDP。利用iperf这一特性,可以用来测试一些网络设备,如路由器、防火墙、交换机等的性能。