自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mywang88的博客

学习记录

  • 博客(26)
  • 收藏
  • 关注

原创 简化理解 Scrapy 爬虫框架

mywang882019-08-14简介一年前开始接触 Python 和网络爬虫技术。彼时由于基础较为薄弱,在使用 Scrapy 框架时产生了不少疑惑。于是果断放弃,改用 Requests 扩展库,打算在网络爬虫开发的实践中,逐步明白框架的设计意义。期间补充了不少的 Python 语法知识,以及程序设计思想。虽然缓慢,但也算有进步,于是决定水一贴。基于对 Scrapy 框架的初步理解...

2019-08-14 09:12:08 324

原创 Python 迭代过程浅析

mywang882019-07-17简介本文尝试浅析 Python 的迭代上下文的内部过程。Python 版本为 3.7 。示例迭代上下文Python 中最常见的迭代上下文是 for 循环语句:for i in a: print(i)如果这段代码能够正常执行,我们就说对象 a 是可迭代的,即 Iterable 。简化的内部过程为了更好地理解迭代过程,参考下列代码:b =...

2019-07-19 08:29:51 511

原创 Git 常见概念简介

mywang882019-05-31简介列出了初学 Git 接触到的概念、中英文对照、及其简介。常用命令与术语命令/术语常见翻译以及简介add暂存:将更改添加至暂存区(stage)commit提交:提交暂存区,生成新的 commit 对象,并重定向当前分支到新的 commit 对象branch分支:创建一个新的分支,指向当前 commit 对象...

2019-05-31 20:27:36 1025

原创 Python 定义生成器的函数的返回值

mywang882019-05-28在 Python 的函数中使用 yield 命令,可以将函数转化为一个生成器(generator):def count(): for n in range(99): yield n此时,函数 count 实际上定义了一个生成器。使用 type 函数检查,会发现 count 是一个函数对象, count() 是一个生成器对象。...

2019-05-28 21:02:27 2507

原创 Python 使用 flask 库传递 JSON 数据

mywang882019-05-11简介本例简单示范了基于 Python 的 flask 库,搭建 web 服务,并通过 POST 请求传递 JSON 格式数据的过程。代码主程序 main.py :from flask import Flask, request, jsonifyfrom settings import APP_PORT# 创建一个服务app = Flask(_...

2019-05-11 20:03:03 6157

原创 备份项目到 GitHub 私有仓库并配置 PyCharm

mywang882019-04-28简介2019年初,微软收购 GitHub 后不久,便宣布永久免费提供 GitHub 的私有仓库(private repository)。同时,对于每个私有仓库,它的拥有者可以免费为它添加 3 名合作者(collaborator),进行共同开发。GitHub 的这一改变极大地方便了用户。用户既可以使用私有仓库对项目进行备份以及版本控制,也可以使用私有仓库...

2019-04-30 20:25:03 1261

原创 Python 多线程与多进程的阻塞队列通信示例

mywang882019-04-10简介Python 通过 threading 库来处理多线程问题,通过 multiprocessing 库来处理多进程问题。多线程和多进程问题中,都有队列 Queue 这一工具,可用来实现线程或进程间的通信。开发中遇到了这样一个问题:主程序是一个多线程的进程,同时为了满足业务需求创建了若干个子进程,要求主程序的每一个线程都能与一个配套的子进程之间进行响应...

2019-04-10 08:59:24 1071

原创 Python 获取进程 pid 以及停止进程

mywang882019-01-23简介在 Python 的项目开发中,程序有时会需要管理(例如停止)其它后台进程。可以通过 os.getpid() 函数以及 os.system() 来实现这一功能。示例在同一个目录下创建 3 个脚本文件:1 要停止的进程创建脚本文件 count.py ,内容如下:import timeimport os# 获取进程的pidpid = o...

2019-01-23 13:33:58 36489

原创 Python3 中 reload 函数的使用

mywang882019-01-06简介在 Python 编程中,为了便于维护,通常会把程序拆分为若干个模块(Module),在主程序中导入(import)这些模块。模块中的内容可以是函数和类的定义,也可以是参数值的声明。模块中的语句会且只会在第一次 import 该模块的时候被执行一次。在实际项目中,有时会遇到这种情形:程序需要持续保持运行,而我们希望在不中断程序的前提下修改一个参数...

2019-01-06 09:38:49 4581

翻译 GitHub 指南

mywang882018-12-30简介学习使用 GitHub ,顺手翻译了下它的用户指南。主页:https://github.com/指南:https://guides.github.com/activities/hello-world/Hello World 项目是计算机编程界的一个历史悠久的传统。当你开始学习一个新的东西的时候,它是一个简单的小练习。让我们开始学习 GitHub ...

2018-12-30 17:54:52 226

原创 提取 xml 文件中的 CDATA 数据

mywang882018-12-26简介XML 是常见的数据格式。解析器往往会忽略 XML 文件中 <![CDATA[ 信息 ]]> 区段的内容,但有时我们是需要抓取这些内容的。搜索了下这个问题,没找到较好的回答,自己解决。本文的开发场景为:编程语言:Python 3.7.0使用了 Scrapy 爬虫框架的 Selector 类和它的 xpath 选择器(方法)使用...

2018-12-26 12:57:39 7696

原创 单独使用 Scrapy 框架的 Selector 选择器

mywang882018-12-16背景Scrapy 框架是一个经典的 Python 爬虫框架。Scrapy 框架中的 Selector 类提供了多种 html/xml 节点选择器的方法,例如:css 选择器、xpath 选择器、re 选择器等。使用 scrapy.Selector 类的好处之一,就是不需要再导入(import)其它工具包,例如 lxml 等,直接调用选择器,并输入对应语...

2018-12-16 11:47:10 565

原创 DBLP 搜索爬虫项目

mywang882018-12-14简介由于项目需要,计划抓取 dblp 网站关键词搜索结果的文章列表。目标站点:dblp: computer science bibliography 以及文章所属期刊网站维基词条:DBLP - Wkikpedia1 流程设计从需求方获取“关键词列表”。在 DBLP 主页,使用关键词列表中的每个关键词,发起搜索。获取搜索结果页面中,每个条目(文...

2018-12-14 21:49:40 2112 2

原创 Java 通过 Thread 实现心跳线程

Java 学习笔记(02)mywang88简介后台运行的程序,有时会被需要定时输出信号,已确定程序运行正常。在 Java 开发中,可以通过多线程工具解决这一问题。用来实现这一功能的进程,有时也被称为“心跳进程”。实现创建文件 HeartBeating.java,代码如下:public class HeartBeating { public static void start...

2018-11-14 18:53:57 3753

原创 第一个 java 程序 Hello World

mywang882018-11-09第一个 java 程序 Hello World开发环境:IntelliJ IDEA 2018.2.5源文件名:HelloWorld.java代码:public class HelloWorld { public static void main(String[] args) { System.out.println("haha...

2018-11-09 08:59:40 227

原创 Python 多线程工具包 threading 的超简单例子

笔者初学 Python,在编程中,遇到了多线程的问题,即需要一个程序中的几部分同时运行。例如:给一个后台程序写一个“心跳进程”,定时输出信号,以确认程序正常运行。在网上搜索了下发现有不少帖子,但总感觉帖子中举的例子不够简单和直观,遂决定写个自己觉得够简单直观的例子。代码如下:import threading # 导入 threading 包import time # 用来控制时间d...

2018-11-01 23:13:52 1238

原创 十二平均律的数学描述

十二平均律的数学描述mywang882018年9月28日1. 声音的物理特性声音的本质,是空气的震动。人听到外界的声音大致需要经历以下几个步骤:发声体(例如人的声带、各种乐器)发生特定的震动,也包括了发声体内部的空气的震动。这种震动有时会呈现出一定的规律性,例如形成乐音的震动一般具有固定的震动频率。震动的发声体带动了其表面的空气,使空气也产生了与发声体震动方式相似的震动。这种...

2018-09-29 09:10:06 14221 4

原创 圆周率的表达式的一种数学推导

圆周率的表达式的一种数学推导题设:求圆周率的一种有理数表达式(近似值)根据三角函数知识,有: arctan(π4)=1arctan(π4)=1arctan(\frac{\pi}{4}) = 1 那么有: π=arctan(1)×4π=arctan(1)×4\pi = arctan(1) \times 4 至此,我们已经把圆周率表示为了一个连续可导的函数的值的形式。接下来...

2018-08-02 12:39:01 6881

原创 德·梅齐里亚克的砝码问题

德·梅齐里亚克的砝码问题题设:一位商人有一个40磅的砝码,由于跌落在地而碎成4块。后来,称得每块碎片的重量都是整磅数,而且可以用这4块来称从1至40磅之间的任意整数磅的重物。问:这4块砝码碎片各重多少?解:已知 4 个整数和为 40,且都不小于 1。可推出都不大于 37。因为 37 + 1 + 1 + 1 = 40,这是最大的情形。考虑到砝码可以放置在天平的任意...

2018-05-06 14:44:14 1070

原创 在 Foxmail 的 Win10 客户端中添加 icloud 邮箱

在 Foxmail 的 Win10 客户端中添加 icloud 邮箱没查到靠谱的分享,自己捣鼓了一阵儿才完成,分享下经验,希望能够帮上需要的人。Foxmail 版本是 7.2,时间是2018年4月6日。主要步骤如下:在 Foxmail 的“账号管理”中选择“新建”,“手动设置”“接收服务器类型”选“IMAP”;邮件账号填“[email protected]”;密码由于苹果账户升级了双重认...

2018-04-26 22:12:38 14690

原创 初学 Python,对 object 和 type 的理解

初学Python,关于object和type的理解object(类)是一个类。type(类)也是一个类。object类是所有的类的父类的父类的父类… 即,其它所有的类都是object类的子类,(而并非它的实例(类变量))。type类是个不一般的类,这是因为type类的实例,即type类的类变量,竟然是所有的类(也包括它自己)。那么总结起来就是:所有的类都是type类的实例,所有...

2018-04-14 22:25:50 5602 1

原创 数学题目:“知道不知道”

知道不知道题目:老师从2到49之间选择了两个数字(允许重复)。将两数之和写在一个纸条上交给了 A,将两数之积写在一个纸条上交给了 B,(随后他们各自查看了自己纸条上的数字)。 A 对 B 说:“我知道(确信)你不知道(两个数分别是多少)!” B 对 A 说:“哦~ 那我知道(两个数分别是多少)了!” A 对 B 说:“哦~ 那我也知道了!” 同学们说:“哦~ 那我们也知道了!”...

2018-04-14 21:51:38 1536

原创 编写Python程序求地球表面两点的球面距离,并打包为exe文件。

编写Python程序求地球表面两点的球面距离这是第一次使用Python针对具体需要来编写一个相对完整的程序。需求分析有一个朋友常常需要计算两个已知经纬坐标的海上石油平台之间的距离。 虽然这只是一个很简单的解析几何问题,但重复的计算依然耗时耗力。 设计一个程序来帮他完成这个重复性的工作便成为了我的第一个练习题。 他的电脑并没有安装Python,也没有Matlab等,因此我要给他...

2018-04-07 22:52:22 1441

原创 初学 Python 对类进行的尝试

class Team(object): # 所有的类都是从object类继承 location = 'Qingdao' # 创建类的时候可以创建类属性并赋值 population = 11 def __init__(self, p1, p2, p3): # __init__方法,它会在每次创建该类的实例时自动运行...

2018-04-06 14:31:25 157

原创 用 Markdown 语言编辑一道数学题(等比数列)

一道数学题,用Typora书写,公式部分使用LaTex语法已知:a1=5a1=5a_1=5,a2=55a2=55a_2=55,a3=555a3=555a_3=555,以此类推,anana_n为由nnn个555组成的nnn位数。求:数列anana_n的前nnn项和SnSnS_n。解: 由题设考虑到数列anana_n与十进制相关,可将其转换为: an=59(10n−1)an=59(10...

2018-03-31 15:46:57 752

原创 打个招呼

打个招呼Hi~这是一个开始。今天注册了 CSDN 的账号,开通了这个博客。博客的主要用途,是记录编程学习,归纳整理,以及分享和交流一个朋友告诉我作为一个程序员得学会使用 Markdown 来书写文档,因此这也是我第一次使用 Markdown 来书写的文档,和博客~下载安装了 MarkdownPad 2 作为编辑器。然而就在刚刚他又给我推荐了 Typora 这款编辑器,我想以...

2018-03-29 22:16:18 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除