1计算机要点
1.1计算机概念
电脑 手机 计算器……computer
数值计算 逻辑计算 存储记忆
能够按照程序运行、自动、高速处理数据的现代化智能电子设备
硬件 + 软件
硬件:CPU 键盘 硬盘(看得见、摸得着)
软件:QQ 高德地图 Pycharm(一系列按照特定顺序组织的计算机数据和特定指令的集合)
1.2交互方式
命令行的交互模式(TUI):
控制台(CMD)
win + R 出现运行窗口 输入cmd 回车
版本及版权声明 + 当前工作目录(C:\Users\……>)
两个软盘(A盘,B盘)
图形界面化交互(GUI):
Interface:接口(选项、功能)
1.3常见dos命令
dir:列出文件或文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd..:返回上一级目录
cd/:返回根目录
del:删除文件
exit:退出dos命令
1.4文本文件和字符集
纯文本:只能保存单一的内容,无法保存与内容无关的东西(颜色、图片)
在计算机底层转化成二进制数据
编码:字符——二进制码
解码:二进制码——字符
编码和解码都遵循一个规则(字符集 ASCII表 ISO-8859-1 GB2312 GBK Unicode:UTF-8\UTF-16\UTF-32)
富文本:可以保存文本以外的内容
1.5进制
二进制:01001010
八进制:010 100 001
十六进制:0101 0001
进制越大,表现形式越短
八进制、十六进制 方便表示数据
进制之间的转换
十进制——二进制:模二取余法
二进制——十进制:乘以2(次幂)
进制的计数
十进制:一共10个数字,满十进一
二进制:一共2个数字,满二进一
1.6环境变量
环境变量:(environment variables)操作系统中,用来指定操作系统运行环境的一些参数(如临时文件夹的位置、系统文件夹的位置等)
查看环境变量:
计算机 右键“属性” 高级系统设置 环境变量
添加环境变量:
通过新建按钮添加(不要修改系统变量)
环境变量可由多个值构成,值与值之间用分好隔开
修改环境变量:
编辑按钮
删除环境变量:
删除按钮
path环境变量
path,环境变量里一个一个的路径
我们输入一个命令时,系统会在当前路径寻找,若当前路径没有,会去path环境变量里面找,如果有直接打开,没有则报错
2Python要点
2.1解释型 & 编译型
计算机语言:用于人与计算机之间的通信
字符 数字 语法规则
手动控制计算机(计算机庞大、成本高)——用程序解决控制计算机——出现新的程序方式和设计模型(面向对象)
计算机语言发展:
机器语言:0 & 1
汇编语言:字母 符号 语言的记忆性和识别性
高级计算机语言:Java Python PHP
计算机只识别二进制编码,即机器码
编译型:C语言
执行代码前,编译为机器码,将机器码交由计算机执行
执行速度快 跨平台性差
解释型:Python
一边执行,一边编译(解释器执行)
执行速度较慢 跨平台性好
2.2Python语言概述
易于学习
功能强大
高效率的数据结构
简单有效、面向对象
语法简洁、动态输入
自由开方
跨平台性
可嵌入性 丰富的标准库、第三方库
可以做:
软件开发
科学运算 numpy
自动化运维
云计算 openstack
Web开发
网络爬虫
人工智能
Python之禅
import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one— and preferably only one —obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!
2.3环境搭建
Python的解释器
CPython(官方):用C语言编写的Python解释器
PyPy:用Python语言编写的Python解释器
IronPython:用.net编写的……
JPython:用Java编写的……
安装
help file:帮助文件
embeddable zip file:嵌入式安装
executable installer:可执行文件
web-based installer:联网安装
Python交互模式>>>
3条件控制语句
3.1条件判断语句:if语句
if <布尔表达式>:
语句
代码块以缩进开始
官方推荐使用4个空格表示一个tab键
3.2input函数
接受一个标准输入数据,返回为string类型
强制类型转换(int)
3.3if-else函数
if value > 10:
print(“*“)
else:
print(“###”)
3.4if-elif-else函数
自上向下依次对条件表达式求值判断
if-elif-else代码块只有一个代码块会执行
3.5while语句
4爬虫初探
4.1爬虫简介
什么是爬虫?
网页蜘蛛 网络机器人
模拟浏览器访问和自动抓取互联网信息的程序或脚本
通用网络爬虫:
百度、谷歌、雅虎……搜索引擎
通过关键字获取既定目标
覆盖率大
聚焦网络爬虫:
到互联网上有选择、有目的地抓取特定目标和相关主题内容
增量式网络爬虫:
只采取增量式个更新或者只爬取新产生或已发生变化的网页
深层网络爬虫:
表层网页:通过传统搜索引擎……
深层:大部分内容不可通过静态链接获取到,隐藏在搜索表单之后的一些数据,可能需要用户提交一些关键词才可以获得web界面
4.2网页地址分析
每张图片不一样,地址指向它本身
这些图片在……目标网站上
每张图片所对应的链接在网页源代码中找到即可
4.3获取图片链接
import requests(需要下载安装)
正则表达式import re(标准库,不须安装)
找到目标网页,获取源代码
用正则来匹配不同图片的地址,产生一个匹配之后的结果
response = request.get(‘’)
r””:原始字符串
.?:.表示任意数量不换行的字符;?表示非贪婪匹配
urladd = r’‘
url_list = re.findall(url_add,response.text)
return url_list
if name_ == ‘main’:
rul_list =
for url in url_list:
