- 什么是爬虫?
爬虫就是模拟客户端(浏览器)发送网络请求,获取响应,按照规则提取数据的程序
模拟客户端(浏览器)发送网络请求:照着浏览器发送一模一样的请求,获取和浏览器一模一样的的数据
- 爬虫的数据去哪了
呈现出来:展示在网页上,或者是展示在app上
进行分析:从数据中寻找一些规律
Eg:节日头条:爬虫起家的公司,聚合的模式;baidu新闻等
百度指数 2017车展温度计
- 需要的软件和环境
Python3 3.6.3最稳定 3.7
黑马python基础班15天视频
Python的基础语法(字符串,列表,字典,判断和循环)、
函数(函数的创建和调用)
面向对象(如何创建一个类,如何使用一个类)
Pycharm编辑器
Chrome浏览器;分析网络请求 右键 检查 network
- 浏览器的请求
url 在chrome中点击检查,点到network
url=请求的协议+网站的域名+资源的路径+参数
url 解码 百分号后解码为中文
responds js调整网页内容的工具或程序(flash 小动画效果) css帮助页面的样式显示出来
elements
浏览器请求url地址 :当前url的响应+js+css+图片===》element中的内容
爬虫请求url地址(不会下载js css等)
当前url对于的响应
Element的内容和爬虫中获取url地址的响应的不同,爬虫中需要以当前url地址对应的响应 为准提取数据
*当前url地址对应的响应在哪里
从network中找到当前的url地址,点击response
在页面上右键显示网页源码
页面更新数据快的网页 检查网页源码时 数据会变 但是大致结构不会变
*爬虫 投票:点击人 点击投票按钮 用死循环可实现刷票效果
模仿浏览器做一模一样的事情 发送几次请求
抢票等···
- 认识HTTP https
http:超文本传输协议
以明文的形式传播,效率高但是不安全
Https:http+SSL(安全套接字层)
传输之前数据加密,之后解密获取内容
效率较低,但是安全
HTTP协议之请求
1.请求行 请求方法
2.请求头 host connection cache—control user—agent(爬虫程序还是浏览器)
User agent用户代理:对方服务器能够通过user agent知道当前请求对方资源的是什么浏览器
如果我们需要模拟手机版的浏览器发送请求,对应的,就需要把user agent改成手机版
把对方不安全的请求转换成安全的请求
接受 zip 压缩
Accept language q表示权重 更愿意接受什么样的数据 英文中文 繁体中文
Cookie 浏览器保存在本地的信息(用来储存用户信息的,每次请求都会被携带上发送给对方的浏览器)
对方服务器会根据是否携带cookie判断我们是否是一个爬虫
不带cookie但是可以不停的请求网站 大概率是爬虫
Refer 表示前一次请求来自哪里
3.请求体 get请求没有请求体 post请求有请求体
Get请求和post请求的区别
Get请求把数据放在url中,post把数据放在请求体中(考试作弊抄袭,瞟一眼)
Post请求常用于登录注册,传输大文本 ,post携带的数据量比get多,常用于大文本
http协议之响应
响应头 response
Set cookie 对方服务器通过字段设置cookie 到本地
响应体
url 地址对应的响应
抓包 浏览器发送的请求
Request模块的学习
使用 pip install requests
发送 get post 请求,获取响应
Response=Request. Get(url)#请求url地址对应的响应
Response=request.post(url,date={请求的字典})##发送post请求
Response的方法
Response.text
该方式往往会出现乱码,出现乱码使用response.encoding=“utf-8”
Response.content.decode
把响应的二进制字节转化为str类型
获取网页源码的正确打开方式 一定通过下面三种方式,一定可以获取到网页请求之前的字符串
#response.content.decode().
#response.content.decode(“gbk”)
#response.text
发送带header的请求
Headers 字典 冒号前是间 后面是值
使用超时参数
处理cookie相关的请求
1-2天Linux操作相关
3-10天Python基础语法
11-12天HTML、CSS基础语法
13天 网络爬虫
认识linux
什么是操作系统
Win mac Android iOS
Unix 闭源
Minix 教学
Linux 改进minix
安卓实际就是linux
Ios来自达尔文,来自bsd 来自unix
Linux内核版和发行版
发行版 ubuntu 网络安全 kali linux
物理机和虚拟机
服务器 linux或类unix
桌面操作系统 Windows
嵌入式领域 无人机 物联网 机顶盒 手机 pad等
1.3文件和目录
Windows和linux系统的区别
Win 先分区 多个树并列
Linux下面没有这些盘 只有目录文件夹。 根目录
Linux目录:
/根目录
Bin 一般放命令
Dev放设备
Home家目录 放文件 程序等 平常放东西
Root 超级系统管理员的家目录
User 应用程序
相对路径和绝对路径(带/ 如 cd /home 最保险,直接绝对路径跳)
Cd 切换目录的命令
Cd /
Ls 显示当前目录里面所有的东西
Cd home
Cd python
Pwd 显示当前路径
清空clear
以点开头的为隐藏文件夹
Ls –a
Cd..跳到顶层文件夹
点是当前路径 点点是上层路径
文件权限 linux多用户系统 windows 单用户系统
Ls -a 显示所有目录 包含隐藏的
Ls
QQ空间的权限 我是管理者 都可以访问
同事设置 qq好友 用户组
其他组 无法访问
-rw-rw-r--
- 文件类型(d为文件 -普通目录)
所有者拥有的权限 可读 可写
用户组拥有的权限 可读 可写
其他组拥有的权限 可读
(r read w write x 可执行)
1.4 常用基本命令
命令 –help 能看到帮助信息
man mannual手册 (有问题找男人)
按b 后一页
F 前一页.
Q退出man命令
Man ls
自动补全 tab键(注意首字母相同,就用两个字母)
Cd downloads
历史命令 history