主要内容
- http简介
- html/xml/jason简介
- mysql/apache
- 爬虫框架
robots规范与爬虫原则
python做爬虫特点
上手容易!!!
免费开源,使用不受限制。
解释执行,跨平台不受限制。
面向对象
框架和库支持丰富,有大量的历史积累。
http简介
HTTP = HyperText Transfer Protocol
URI = Uniform Resource Identifier
URL = Uniform Resource Locator
URI和URL的区别:URI强调的是资源,而URL强调的是资源的位置。
常用请求类型
- OPTIONS: 返回服务器针对特定资源所支持的http请求方法。不实现也OK
- HEAD:向服务器索要与get请求相一致的响应,只不过响应体将不会被返回。检查文件在不在
- PUT: 向指定资源位置上传其最新内容;
- DELETE: 请求服务器删除指定URI所标识的资源
- PATCH: 用来将局部修改应用于某一资源
- GET: 向特定资源发出请求
- POST: 向指定资源提交数据进行处理请求
基本就用post get
常见状态码
- 200/OK: 请求成功
- 201/Created: 请求已被实现,且一个新资源已根据请求被建立,URI跟随Location头信息返回
- 202/Accepted: 服务器已接受请求,但尚未处理
- 400/Bad Request: 请求无法被服务器理解
- 401/Unauthorized: 当前请求需要用户验证
- 403/Forbidden: 服务器已理解请求,但拒绝执行。
- 404/Not Found
html/xml/json
HTML (Hypertext Markup Language)
HTML不是编程语言,而是一种标记语言。即HTML使用标记标签来描述网页。
标签和元素
DOM文档模型
大数组
文本<body>
- 段落1 <p>...<\p>
- 列表 <ul>...<\ul>
- 文本
- 图片<imgsrc ...>...
- 段落2
XML
树结构
描述文本
ROOT
- E1
-G1
-G2
- E2
- E3
<node >
Json (JavaScript Object Notation)
推荐教程:Json
语法类似XML,但是更小、更快、更容易解析。对JavaScript特别友好。
爬虫工作流程
将种子URL放入队列
从队列中获取URL,抓取内容。
解析抓取内容,将需要进一步抓取的URL放入工作队列,存储解析后的内容
抓取策略
深度优先
广度优先
PageRank
大站优先策略