第一个爬虫和测试

一、什么是网络爬虫?

  信息时代,每天我们都在上网,每天我们都在浏览器上访问网站,我们打开一个网页,接着又跳转到另一个网页,看到喜欢的内容,或者是一段幽默的句子,或者是一张美女的图片,我们会选择将其保存下来,当数量很多的时候,我们就会选择用程序来实现这样一个过程,实现自动浏览网页,自动根据我们的要求,保存我们想要的数据。于是,爬虫就应运而生了。所以,简单来说,爬虫就是实现网页自动浏览,数据自动保存,根据我们的需要进行自动化浏览器的操作或者自动化测试的这样一种程序。至于为啥要叫爬虫,因为互联网是一张很大的“蜘蛛网",爬虫就好像是一只蜘蛛在网上爬来爬去。当然,这些完全是我自己的理解,你当作是一段文字来看,并非严谨的定义,爬虫的范畴,越来越大!

二、需要哪些知识来写爬虫?

  1.Http协议:简单而言,就是客户端向服务器发出一条Http请求,服务器收到请求之后会返回一些数据给客户端,然后客户端再对这些数据进行解析和处理。

  2.Html:网页的编写,超文本标记语言,要求能看懂一些网页源代码

  3.正则表达式:完整的字符串规则,查找、替换等

三、首先 Requests 库基本方法介绍

方法 说明
requests.request() 构造一个请求,支撑一下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET
requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE
其对象属性 说明
r.states_code 获取返回的状态码
r.text / r.read() HTTP响应内容文本形式返回
r.content HTTP响应内容的二进制形式
r.json() HTTP响应内容的json形式
r.raw HTTP响应内容的原始形式
r.encoding 返回请求的url
r.encoding 从HTTP header中猜测的响应内容编码方式
r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)
r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)
四、异常

Requests显式抛出的异常都继承自requests.exceptions.RequestExceptio异常 说明

requests.ConnectionError 网络连接错误异常,如DNS查询失败、拒绝连接等
requests.HTTPError HTTP错误异常
requests.URLRequired URL缺失异常
requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout 连接远程服务器超时异常
requests.Timeout 请求URL超时,产生超时异常

五、爬虫的过程

1、向服务器提出请求,request,服务器响应回复,response对得到的响应进行解析,这些响应可能是HTML,可用正则表达式对其解析,也可能是json对象,也有可能是二 进 制数据,这是可以保存本地进一步处理。
2,对提出去来的数据进行结构化存储。网页比较简单时直接处理,jison结构化的数据用正则表达式提取出来,另外原生的html网页只包含源代码,可能并不包含一些数据,这些数据是通过后期JS接口调用之后拿到的
六、输入代码

# -*- coding: utf-8 -*-
"""
Created on Wed May 22 16:08:18 2019

@author: admin
"""

import requests
for i in range(20):
    print("第",i+1,"次访问")
    r=requests.get("http://www.google.com.hk")
    print("网络状态码:",r.status_code)
    r.encoding="utf-8"
    print(r.text)
    print("text属性长度:",len(r.text))
    print("content属性长度:",len(r.content))

 七、运行结果 

 

可以看到,谷歌爬虫不了

这样就结束了哦!

转载于:https://www.cnblogs.com/ysd973/p/10906678.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值