python爬虫6: 爬虫基本原理

2017-11-05  本文已影响0人  dc630f46ee2d

什么是爬虫

请求网站并提取数据的自动化程序

请求

请求方式

GET POST 其他不常用的请求方式

26110054-a74a244713d74e5eaef498d7f3098a75.png

请求的数据格式

2012022009421183.png

POST请求将URL参数放在request body中,GET请求将URL参数放在request Line中。后者相对安全。往往用于登录密码等。

请求头

请求配置信息。重要字段
cookies:常常用来维持登录会话信息,不用每次都登录
User-Agent:浏览器是什么,有些网站要求传,不然拒绝响应。

响应

响应的数据格式

也分为response Line response Header response body三部分

response Line中的状态玛

1xx:指示信息——表示请求已接收,继续处理
2xx:成功——表示请求已经被成功接收,理解,接受
3xx:重定向——要完成请求必须进行更进一步的操作
4xx:客户端错误——请求有语法错误或请求无法实现
5xx:服务器端错误——服务器未能实现合法的请求

可以获取什么数据

解析方式

  1. 直接处理
  2. JSON解析(ajax加载)
  3. 正则表达式
  4. BeautifuSoup
  5. pyQuery
  6. XPath

为什么抓到的数据和浏览器看到的不一样?

浏览器输入m.webibo.com,使用request库只得到了第一个请求是一个html文件,而浏览器使用ajax请求拿到后面的资源,最终js渲染在浏览器上。为了解决这个问题。

如果解决js的渲染问题

  1. 分析Ajax请求
  2. 使用库模拟浏览器的行为

怎么保存数据

  1. 纯文本保存
  2. 关系型数据库
  3. 非关系型数据库
  4. 二进制文件(图片,视频音频等以特定形式保存)
上一篇下一篇

猜你喜欢

热点阅读