Python爬虫入门到入狱---第一天

1.urllib库の使用

在使用之前我们需要了解的是urllib库是什么?
首先urllib是Python自带的标准库,无需安装,可以直接使用。如果想系统性的学习urllib库,可以直接看它的官方文档。
其分为四个大的模块,分别是:

  • urllib.request 请求模块

  • urllib.error异常处理模块

  • urllib.parse解析模块

  • urllib.robotparser robot.txt文件解析模块

今天我们就使用urllib.request 请求模块简单爬取http://www.baidu.com
的源码

爬取百度首页的源码大概可以分为五步骤:

  1. 导入urllib.request 请求模块
import urllib.request
  1. 定义一个url 就是你要访问的地址
url = 'http://www.baidu.com'
  1. 模拟浏览器向服务器发送请求 response响应
response = urllib.request.urlopen(url)
  1. 获取响应中的页面的源码
content = response.read().decode('utf-8')
#content 内容的意思
#read方法  返回的是字节形式的二进制数据
#我们要将二进制的数据转换为字符串 
#二进制--》字符串  解码  decode('编码的格式')变成utf-8

如果不转码会打印出不同的结果,待会让我们来瞧一瞧吧

  1. 打印数据
print(content)

让我们运行一下瞧一瞧吧

Python爬虫入门到入狱---第一天_第1张图片

如果不加decode()会有什么情况发生,让我们瞧一瞧吧

Python爬虫入门到入狱---第一天_第2张图片

学会简单使用urllib库爬取http://www.baidu.com 之后,让我们来了解一下
urrlib一些其他基础知识吧

2.urllib库の一个类型和六个方法

import urllib.request

url = 'http://www.baidu.com'

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)

1. 一个类型

  • response是HTTPResponse的类型,这个类型要记住了,我们日后再谈
print(type(response))

Python爬虫入门到入狱---第一天_第3张图片

2. 六个方法

  1. 读取内容, 按照一个字节一个字节的去读,效率会比较慢
content = response.read()
print(content)

Python爬虫入门到入狱---第一天_第4张图片

#返回5个字节的内容
content = response.read(5)
 print(content)

Python爬虫入门到入狱---第一天_第5张图片

  1. 读取源码一行
content = response.readline()
print(content)

Python爬虫入门到入狱---第一天_第6张图片

  1. 一行读取源码
content = response.readlines()
print(content)

Python爬虫入门到入狱---第一天_第7张图片

  1. 返回状态码 如果是200了 那么就证明我们的逻辑没有错
print(response.getcode())

Python爬虫入门到入狱---第一天_第8张图片

  1. 返回url地址
print(response.geturl())

Python爬虫入门到入狱---第一天_第9张图片

  1. 获取是一个状态信息
print(response.getheaders())

Python爬虫入门到入狱---第一天_第10张图片

总结

  • 数据类型是HttpResponse、不要忘记哦
  • read() 字节形式读取二进制 扩展:read(5)返回前几个字节
  • readline() 读取一行
  • readlines() 一行一行读取 直至结束
  • getcode() 获取状态码
  • geturl() 获取url
  • getheaders() 获取headers

你可能感兴趣的:(python)