一、urllib:Urllib是python内置的HTTP请求库
1、urllib模块中常用的两种方法
1.1.urllib.urlopen(url[,data[,proxies]])
打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作。本文试着打开csdn官网
-*- coding: utf-8 -*-
import urllib
#爬取网页
url="https://www.youkuaiyun.com/"
content=urllib.urlopen(url).read()#读取全部
content1=urllib.urlopen(url).readline()#读取html页面的第一行
open("csdn.html", "w").write(content)
‘’‘注意:保存是以html的后缀形式,csdn.html命名保存之后就可以变成一个连接或快捷键’’’
urlopen返回对象提供方法:
read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样
info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
geturl():返回请求的url
1.2.urllib.urlretrieve(url[,filename[,reporthook[,data]]])
urlretrieve方法将url定位到的html文件下载到你本地的硬盘中。如果不指定filename,则会存为临时文件。
urlretrieve()返回一个二元组(filename,mine_hdrs)
#-*- coding: utf-8 -*-
import urllib
#爬取图片
url="https://www.youkuaiyun.com/"#注意:此时这个地址不能省略,因为下面一张图片的地址是基于这个地址中的
pic = "https://img-blog.csdnimg.cn/20190421121410548.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9ja2NoYWluY2FtcC5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70"#这是一张图片的地址,不能省
urllib.urlretrieve(pic, "java.jpg")#把这张图片命名为java.jpg,并保存在此文件的位置