美文网首页
爬虫基本原理

爬虫基本原理

作者: 苦瓜1512 | 来源:发表于2017-12-20 10:18 被阅读0次

    1. 基本流程

    1.1 发起请求

    通过http库向目标站点发起请求,即发送一个Request,请求可以包含额外的信息,例如headers等,等待服务器响应。

    1.2 获取响应内容

    如果服务器能正常响应,会得到一个ResponseResponse的内容便是所要获取的页面内容,类型可能有HTMLJson字符串,二进制数据(例如图片、视频等)类型。

    1.3 解析内容

    得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。

    也可能是Json,可以直接转为Json对象进行解析。

    可能是二进制数据,可以做保存或者进一步的处理。

    1.4 保存数据

    保存形式多种多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件。

    2. RequestResponse

    http协议基于客户机的请求与服务器的响应。

    2.1 Http Request

    浏览器发送请求信息到网址指向的服务器

    2.2 Http Response

    服务器接收到浏览器发送的请求信息,根据发送消息的内容,进行相应处理,然后把消息返回浏览器

    2.3 解析网页

    浏览器收到服务器的Response信息后,对信息进行相应处理,解析为网页

    3. Request中包含的信息

    3.1 请求方式

    主要有GET, POST两种类型,另外还有HEAD, PUT, DELET, OPTION

    GET请求的参数都包含在请求的url里面

    POST请求时,参数会包含在额外的数据包内,不会显示在url里面,相对安全

    3.2 请求url

    url全称叫统一资源定位符,例如,一个网页文档、一张图片、一个视频等都可以用url来唯一确定

    3.3 请求头

    请求头包含请求时的头部信息,例如User-Agent, Host, Cookies等信息

    3.4 请求体

    请求时额外携带的数据,例如表单提交时的表单数据

    一般来说,在进行GET请求时,请求体不会携带内容,而进行POST请求时会携带内容

    4. Response中包含的内容

    4.1 响应状态

    服务器的响应状态,例如200代表成功,301代表跳转,404找不到页面,502服务器错误

    4.2 响应头

    例如内容类型,内容长度,服务器信息,设置Cookie等等

    4.3 响应体

    最主要的部分,包含了请求资源的内容,例如网页HTML、图片二进制数据等等

    5. 网页解析

    • 直接解析

      对于简单的字符串的网页,可以直接解析

    • Json解析

    • 正则表达式

    • BeaufigulSoup

    • PyQuery

    • XPath

    相关文章

      网友评论

          本文标题:爬虫基本原理

          本文链接:https://www.haomeiwen.com/subject/deowwxtx.html