Python urllib的使用,并进行post get请求
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)