import urllib.request
import requests
#打开网站判断是否能正常打开,并返回链接状态
def print_openUrl(m_url):
try:
myurl =urllib.request.urlopen(m_url)
print(myurl.getcode()) #打开网站获取状态码
return myurl.getcode()
except urllib.error.HTTPError as e :
if e.code()==404: #判断网站是否能打开,若打不开返回404
print(404)
return 404
else:
return e.code()
except ValueError:
print("传入路径不合法,未加http或者https完整路径!,需按如下格式传参 http://www.baidu.com/")
return -2001
#调用实例,传入需要打开的网址,需填写完整的
print(print_openUrl("www.baidu.com"))
#将抓取的文字保存到本地
def saveHtmlData(url):
try:
myurl = urllib.request.urlopen(url) #打开网页,并将网页内容保存
f = open("data.html","wb")
connect =myurl.read() #读取获取的网页内容
f.write(connect) #将保存的网页内容写入到文本中
f.close()
print("写入成功!")
return 0
except (ValueError,urllib.error.URLError): #若传入路径不合法,则进入此流程
print("传入路径不合法,未加http或者https完整路径!,需按如下格式传参 http://www.baidu.com/")
return -2001
except urllib.error.HTTPError as e :
if e.code()==404: #判断网站是否能打开,若打不开返回404
print('网站打不开,404')
return 404
saveHtmlData("http:://www.baidu.com/")
#url的编码 使用quote函数进行处理
encodeurl = urllib.request.quote("http://www.baidu.com/")
print(encodeurl)
#url解码 使用unquote函数处理,
encodeurl = urllib.request.unquote("http%3A//www.baidu.com/")
print(encodeurl)
#使用urllib进行post请求
#定义请求的地址
post_url="https://news.ssp.qq.com/app"
#定义传入的头文件
post_heads={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}
#定义传送的数据
post_data=""
post_reslut = requests.post(post_url,post_data,post_heads)
#打印返回的数据
print(post_reslut.text)