什么是爬虫
请求网站并提取数据的自动化程序
请求
请求方式
GET POST 其他不常用的请求方式
26110054-a74a244713d74e5eaef498d7f3098a75.png请求的数据格式
2012022009421183.pngPOST请求将URL参数放在request body中,GET请求将URL参数放在request Line中。后者相对安全。往往用于登录密码等。
请求头
请求配置信息。重要字段
cookies:常常用来维持登录会话信息,不用每次都登录
User-Agent:浏览器是什么,有些网站要求传,不然拒绝响应。
响应
响应的数据格式
也分为response Line response Header response body三部分
response Line中的状态玛
1xx:指示信息——表示请求已接收,继续处理
2xx:成功——表示请求已经被成功接收,理解,接受
3xx:重定向——要完成请求必须进行更进一步的操作
4xx:客户端错误——请求有语法错误或请求无法实现
5xx:服务器端错误——服务器未能实现合法的请求
可以获取什么数据
- 文本(HTML文档,json格式文本等)
- 图片
- 视频
- 其他 只要能请求
解析方式
- 直接处理
- JSON解析(ajax加载)
- 正则表达式
- BeautifuSoup
- pyQuery
- XPath
为什么抓到的数据和浏览器看到的不一样?
浏览器输入m.webibo.com
,使用request库只得到了第一个请求
是一个html文件,而浏览器使用ajax请求拿到后面的资源,最终js渲染在浏览器上。为了解决这个问题。
如果解决js的渲染问题
- 分析Ajax请求
- 使用库模拟浏览器的行为
怎么保存数据
- 纯文本保存
- 关系型数据库
- 非关系型数据库
- 二进制文件(图片,视频音频等以特定形式保存)
网友评论