码迷,mamicode.com
首页 > 其他好文 > 详细

爬虫从入门到放弃 - 纯新手学习-爬虫基本原理

时间:2018-07-21 19:49:40      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:类型   status   response   form   text   服务端   get   文档   hide   

1.什么是爬虫?

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

请求:客户端向服务端发送请求获得网页资源,是一段html代码,包含html标签和一段信息。

提取:提取出想要的信息,然后将结构化的数据存储到文本

自动化:写完程序一直运行着,代替客户端向服务端发送请求,可以大量的获得数据

 

爬虫四部

1.发起请求:通过http库向发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。

2 .获取响应内容:如果服务器能正常响应,会获得一个Response,Response内容便是所要获取的页面内容。类型可能有htmlmjson字符串,

二进制数据,如图片、视频等类型。

3.解析内容:得到的内容可能是html,可以用正则表达式,网页解析库进行解析,可能是json,可以直接转换为json对象解析,可能是二进制数据,

可以作保存或者进一步的处理。

4.保存数据:保存形式多样,可以保存文本,也可以保存数据库,也可以保存特定格式的文件。

 

请求的参数包含在哪一个方面。

get请求直接输入url回车

post请求需要构建表单,点击表单提交,登陆账户点击提交就是发送post请求,因为登陆账户会有隐私,不能直接放在url里,需要做成表单提交。

 

1. Request主要构成

请求方式:主要有get,post两种方式,其他的方式还有head,put,delete,options。

request method

请求URL:url全称资源统一定位符。任何一个软件,文档,资源都可以用url来唯一确定。

requeset url

请求头:包含请求时的头部信息。如user_Agent,cookies,Host

request headers

请求体:请求时额外携带的数据。如表单提交时的表单数据。

提交表单时候的表单数据 format

 

2.Response 主要构成

1.响应状态:200代表成功,301代表跳转,404找不到页面,502服务器错误。状态码

status code 200 ok 表示请求正常发送,服务器正常响应,网页的响应状态

2.响应头:如内容类型,内容长度,服务器信息,设置cookie等等。

reponse headers

3.响应体:最主要的部分,包含了请求资源的内容,如网页HTML,图片二进制数据等。

 

具体实例:

>>> import requests
>>> response = requests.get(‘http://www.baidu.com‘)
>>> response.text  # 可以拿到网页源码(响应体)

开始对网页进行解析

response.headers 查看响应头

response status_code  拿到响应状态

response.content 获得响应体的二进制

 

第一次爬虫,兴奋,虽然是最简单的一个图片

技术分享图片
import requests

response = requests.get( https://img4.duitang.com/uploads/item/201603/01/20160301162401_fc4Rv.jpeg)

>>> with open(rD:\\sylm,wb) as f:
...     f.write(response.content)
...     f.close()
第一次爬小姐姐图片

 

爬虫从入门到放弃 - 纯新手学习-爬虫基本原理

标签:类型   status   response   form   text   服务端   get   文档   hide   

原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9346850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!