爬虫之urllib库的使用
UAUser Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统 及版本、CPU 类型、浏览器及版本。浏览器内核、浏览器渲染引擎、浏览器语言、浏览器插件等常用APIurllib.request.urlopen()模拟浏览器向服务器发送请求,返回数据的读取如下read()字节形式读取二进制扩展:read(5)返回前几个字节readline() 读取一行
·
UA
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统 及版本、CPU 类型、浏览器及版本。浏览器内核、浏览器渲染引擎、浏览器语言、浏览器插件等
常用API
urllib.request.urlopen()
模拟浏览器向服务器发送请求,返回数据的读取如下read()
字节形式读取二进制- 扩展:
read(5)
返回前几个字节
- 扩展:
readline()
读取一行readlines()
一行一行读取 直至结束getcode()
获取状态码geturl()
获取urlgetheaders()
获取headers
urllib.request.urlretrieve()
- 可用于爬取网页、图片、视频等
简单使用
from pprint import pprint
import urllib.request
url = 'http://www.baidu.com'
# 得到HttpResponse对象
response = urllib.request.urlopen(url)
print(type(response))
# read 读取的数据为二进制,我们需要将他进行解码
content = response.read().decode('utf-8')
pprint(content)
通过打印我们可以看到百度首页的源码
下载
如果下载我们就需要
urlretrieve
的方法,点击
下载网页
当我们运行之后,就会发现网页被下载下来了
import urllib.request
# 网页地址
url_page = 'http://www.baidu.com'
# 下载后的文件名
file_name = 'baidu.html'
urllib.request.urlretrieve(url_page,file_name)
下载资源
以下载网页为例,在下载图片、音乐等资源的时候,我们只需要把url和文件名进行相应的改变就行了
下载图片
import urllib.request
# 图片地址
url_page = 'https://img1.baidu.com/it/u=3004965690,4089234593&fm=26&fmt=auto&gp=0.jpg'
# 下载后的文件名
file_name = '图片.jpg'
urllib.request.urlretrieve(url_page,file_name)
下载视频
import urllib.request
# 视频地址
url_page = 'https://vd3.bdstatic.com/mda-mhkku4ndaka5etk3/1080p/cae_h264/1629557146541497769/mda-mhkku4ndaka5etk3.mp4?v_from_s=hkapp-haokan-tucheng&auth_key=1629687514-0-0-7ed57ed7d1168bb1f06d18a4ea214300&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest='
# 下载后的文件名
file_name = '视频.mp4'
urllib.request.urlretrieve(url_page,file_name)
更多推荐
已为社区贡献5条内容
所有评论(0)