爬虫基础

HTTP 相关基础

爬取网页信息:

import urllib.request
resp=urllib.request.urlopen('http://www.baidu.com')   
html=resp.read()
print(html)

解读:urlopen方法–urlopen(url, data, timeout)
三个参数:
第一个参数 url 即为 URL,
第二个参数 data 是访问 URL 时要传送的数据,
第三个 timeout 是设置超时时间

请求

  1. 请求方法:get 和 post
    get———https://www.baidu.com/s?wd=python
    这就是一个Get, wd是一个搜索关键字。
    post————请求在表单提交时发起。
    别的请求方法:
    在这里插入图片描述
  2. 请求的网址:URL
  3. 请求头:用来说明服务器要使用的附加信息,如Cookie,Referer等
    写爬虫的时候,大多数时候需要请求头
  4. 请求体
    请求体-般承载的内容是POST请求中的表单数据,如果要构造POST请求,需要使用正确的Content-Type,并了解各种请求库的各个参数设置时使用的是哪种Content-Type,不然可能会导致POST提交后无法正常响应。
    而对于GET请求,请求体则为空。

响应

三部分:响应状态码;响应头;响应体
状态码如200代表服务器正常响应,404代表页面未找到,500代表服务器内部发生错误。
响应头包含了服务器对请求的应答信息,如Content-Type、Server、Set-Cookie等。
响应体爬虫中,主要是通过响应体,得到网页的源代码,JSON数据等,然后从中做相应的内容。

网页基础

网页的组成

网页由HTML,CSS,JavaScript组成;
HTML:
网页包括文字、按钮、图片和视频等各种复杂的元素,其基础架构就是HTML。
CSS:层叠样式表
css是目前唯一的网页页面排版样式标准!
JS
我们在网页里可能会看到一些交互和动画效果,如下载进度条、提示框、轮播图等,这通常就是JavaScript的功劳。

网页的结构

在这里插入图片描述
开头用DOCTYPE定义了文档类型,其次最外层是html标签,段后还有对应的结束标签来表示闭合,其内部是head标签和body标签,分别代表网页头网页体,它们也需要结束标签。

title标签则定义了网页的标题,会显示在网页的选项卡中,不会显示在正文中。

body标签内则是在网页正文中显示的内容

节点树与节点间的关系

在这里插入图片描述

选择器

最常用的三种常用方法:
1.< div id=“container”>
上例中div节点的id为container,那么就
可以表示为#container,其中#开头代表选择id,其后紧跟id的名称。
2.<div class="rapper">
如果我们想选择class为wrapper的节点,便可以使用.wrapper,这里以点(.)开头代表选择class,其后紧跟class的名称。
3.< h2 class =“title” >Hello World
标签名筛选,例如想选择二级标题,直接用h2即可。

爬虫的基本原理

概念 爬虫:获取–提取–保存
获取:Python提供了许多库来帮助我们实现,如urllib、requests等。我们可以用这些库来帮助我们实现HTTP请求操作。
提取:通用的方法便是采用**正则表达式**提取。
     还有一些根据网页节点属性、css选择器或XPath来提取网页信息的库,如BeautifulSoup、pyquery、lxml等。使用这些库,我们可以高效快速地从中提取网页信息,如节点的属性、文本值等。
保存:可以简单保存为TXT文本或JSON文本,也可以保存到数据库,如MySQL和MongoDB等,也可保存至远程服务器,如借助SFTP进行操作等。

会话和Cookies

  1. 静态网页和动态网页
    网页的内容是HTML代码编写的,文字、图片等内容均通过写好的HTML代码来指定,这种页面叫作静态网页。
    动态解析URL中参数的变化,关联数据库井动态呈现不同的页面内容,非常灵活多变。我们现在遇到的大多数网站都是动态网站。
  2. 无状态HTTP
    会话与Coolies 是针对于无状态HTTP这种情况产生的技术。
  3. 会话与Cookies
    会话在服务端;cookies在客户端。

代理的基本原理

1. 背景:服务器会封IP,服务器检测的是某个IP单位时间的请求次数,那么借助某种方式来伪装我们的IP,让服务器识别不出是由我们本机发起的请求,便可以成功防止封IP。
2. 作用:桥梁
3. 爬虫代理:让服务器误以为是代理服务器访问,隐藏了真实的IP,这样达到很好的爬虫效果。
4. 代理的分类: 略
5. 代理的设置:使用网上的免费代理;使用付费代理服务;ADSL拨号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值