决定从今天开始,每天花30-60分钟学习爬虫,直到掌握基本用法。
21世纪10年代最后一个flag,不能倒。
爬虫的三个步骤:抓取、分析、存储。
抓取
requests
selenium 可以执行动作,如点击、下拉
解析
lxml
beautifulsoup4 (from bs4 import BeaytifulSoup)
tesserocr 图形验证码
存储
一些数据库,但我目前不需要太多的数据,暂时不用数据库
爬虫框架
直接用requests 、Selenium 等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的。利用框架,我们可以不用再去关心某些功能的具体实现,只需要关心爬取逻辑即可。有了它们,可以大大简化代码盘,而且架构也会变得清晰,爬取效率也会高许多。
scrapy
conda install Scrapy
还要安装很多东西,比较复杂,用时再学
HTTP基本原理
URI:uniform resource identifier,统一资源标识符
URL:uniform resource locator,统一资源定位符
超文本:hypertext
HTTP:hyper text transfer protocol,超文本传输协议
HTTPS:hyper text transfer protocol over secure socket layer,HTTP加入了SSL层,安全版
请求
在浏览器中输入URL,回车后会返回内容,实际上是浏览器向网站所在的服务及发送了一个请求
请求方法
GET:请求的参数包括在URL里面,数据可以在URL里看到,请求提交的数据最多1024字节
POST:数据通过表单形式传输,保护在请求体中
请求的网址
即URL,可以唯一确定我们想请求的资源。
请求头
用来说明服务器要使用的附加信息
请求体
一般是POST请求中的表单数据
响应
响应状态码
200代表服务器正常响应;404代表页面未找到;500代表服务器内部发生错误
响应头
服务器对请求的应答信息
响应体
响应的正文书记,需解析的内容
网页基础
HTML:网页的基础架构,将不同类型的元素通过布局标签div嵌套组合而成
CSS:层叠样式表,网页页面排版样式标准
JavaScript:JS是一种脚本语言,交互和动画效果
CSS选择器
(#id
.class
标签名筛选
加空格 表示嵌套 不加是并列
代理的基本原理
使用代理伪装IP,以免被封。