本文共 1401 字,大约阅读时间需要 4 分钟。
爬虫的定义:请求网站并提取数据的自动化程序
通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器相应
若服务器能正常相应,会得到一个Response,response的内容便是所要获取的页面内容,类型可能有HTML,json字符串,二进制数据(图片视频)等类型
HTML,可以用正则表达式,网页解析库进行解析
json,直接转为json对象解析
二进制数据,保存或进一步的处理
可以存为文本,也可以保存至数据库,或者保存特定格式的文件
(1)浏览器发送消息给该网址所在的服务器(HTTP Request)
(2)服务器收到消息后,根据浏览器发送消息的内容,做相应处理,然后把消息回传给服务器(HTTP Responce)
(3)浏览器收到服务器的Responce信息后,会对信息进行相应处理,然后展示
put请求的参数会包含在url中,而post则不会
GET POST
HEAD PUT DELETE OPTIONS
GET与POST差别 | GET | POST |
---|---|---|
请求信息 | 请求信息在链接中 | 请求信息包含在Form Data |
构建请求方式 | 输入URL回车直接访问 | 通过构造表单点击表单提交 |
如一个网页文档,一张图片,一个视频都可以用URL唯一来确定
包含请求时的头部信息
告诉服务器请求的文档类型,携带的cookie,浏览器配置,服务器判断信息是否合法,根据解析结果返回相应的文件内容,爬虫一般加上Request Headers以保证请求正常运行
请求时额外携带的数据
在POST请求方式中的Form Data中
响应体就是源代码.先得到文件的类型,就是源代码,然后在继续请求内置的各种链接,一般都是图片啊,视频之类的.
200:正常
300以上:跳转
500以上:服务器处理错误
内容类型,内容长度,服务器信息,设置cooike等
包含请求资源的内容,如网页HTML,图片二进制数据等
图片 获取到的是二进制流,将二进制文件保存为图片格式
with open('文件名','wb') as f: f.write(二进制流)
视频 同图片为二进制数据
其他 能请求到的都能获取
2.Json解析
3.正则表达式
4.BeautifulSoup
5.PyQuery
6.XPath
1.文本 纯文本,JSon,Xml等
2.关系型数据库 如MySQL,Oracle,SQL Sever等具有结构化表结构形式存储
3.非关系型数据库 如MongoDB,Redis等Key-Value形式存储
4.二进制文件
转载地址:http://fcuzi.baihongyu.com/