日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python中urllib.request和requests的使用及區別詳解

瀏覽:163日期:2022-07-26 13:28:36

urllib.request

我們都知道,urlopen()方法能發起最基本對的請求發起,但僅僅這些在我們的實際應用中一般都是不夠的,可能我們需要加入headers之類的參數,那需要用功能更為強大的Request類來構建了

在不需要任何其他參數配置的時候,可直接通過urlopen()方法來發起一個簡單的web請求

發起一個簡單的請求

import urllib.requesturl=’https://www.douban.com’webPage=urllib.request.urlopen(url)print(webPage)data=webPage.read()print(data)print(data.decode(’utf-8’))

urlopen()方法返回的是一個http.client.HTTPResponse對象,需要通過read()方法做進一步的處理。一般使用read()后,我們需要用decode()進行解碼,通常為utf-8,經過這些步驟后,最終才獲取到我們想要的網頁。

添加Headers信息

import urllib.requesturl=’https://www.douban.com’headers = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36’, }response=urllib.request.Request(url=url,headers=headers)webPage=urllib.request.urlopen(response)print(webPage.read().decode(’utf-8’))

使用Request類返回的又是一個urllib.request.Request對象了。

通常我們爬取網頁,在構造http請求的時候,都需要加上一些額外信息,什么Useragent,cookie等之類的信息,或者添加代理服務器。往往這些都是一些必要的反爬機制

requests

通常而言,在我們使用python爬蟲時,更建議用requests庫,因為requests比urllib更為便捷,requests可以直接構造get,post請求并發起,而urllib.request只能先構造get,post請求,再發起。

import requestsurl=’https://www.douban.com’headers = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36’,}get_response = requests.get(url,headers=headers,params=None)post_response=requests.post(url,headers=headers,data=None,json=None)print(post_response)print(get_response.text)print(get_response.content)print(get_response.json)

get_response.text得到的是str數據類型。

get_response.content得到的是Bytes類型,需要進行解碼。作用和get_response.text類似。

get_response.json得到的是json數據。

總而言之,requests是對urllib的進一步封裝,因此在使用上顯得更加的便捷,建議小伙伴們在實際應用當中盡量使用requests。

補充知識:python中urllib.request.Request()與urllib.request.urlopen()區別

蟒蛇中urllib.request.Request()與urllib.request.urlopen()的區別:

相對于urllib.request.urlopen()來說urllib.request.Request是進一步的包裝請求,下面是請求類的源碼示例:

class Request: # 主要看這塊,構造函數中指明了Request進一步包裝請求中可以傳遞的參數有(url,data,headers, # origin_req_host,unverifiable,method) def __init__(self, url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None): self.full_url = url self.headers = {} self.unredirected_hdrs = {} self._data = None self.data = data self._tunnel_host = None for key, value in headers.items(): self.add_header(key, value) if origin_req_host is None: origin_req_host = request_host(self) self.origin_req_host = origin_req_host self.unverifiable = unverifiable if method: self.method = method pass

我們可以這樣使用(以下是模擬有道字典翻譯發送的請求):

# 請求地址urlurl = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' # 請求頭request_headers = { ’Host’:’fanyi.youdao.com’, 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',} # 發送給服務器的表單form_data = { 'i': word, 'from': 'AUTO', 'to': 'AUTO', 'smartresult': 'dict', 'doctype': 'json', 'version': '2.1', 'keyfrom': 'fanyi.web', 'action': 'FY_BY_REALTIME', 'typoResult': 'false'} # POST發送的data必須為bytes或bytes類型的可迭代對象,不能是字符串form_data = urllib.parse.urlencode(form_data).encode() # 構造請求對象Requestreq = urllib.request.Request(url, data=form_data, headers=request_headers) # 發起請求response = urllib.request.urlopen(req)data = response.read().decode()print(data)

所以,總的來說,如果我們在獲取請求對象時,不需要過多的參數傳遞,我么可以直接選擇urllib.request.urlopen();如果需要進一步的包裝請求,則需要用urllib.request里。的urlopen()進行包裝處理。

以上這篇python中urllib.request和requests的使用及區別詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
中文无码日韩欧| 午夜一区在线| 国产精品综合| 亚洲手机视频| 日韩av二区| 日本亚洲不卡| 国产精品毛片| 免费看av不卡| 视频一区在线播放| 亚洲夜间福利| 日韩毛片视频| 精品国产一区二区三区2021| 日韩国产欧美三级| 欧美一区=区| 六月天综合网| 亚洲精选久久| 亚洲欧美日韩在线观看a三区| 91一区二区三区四区| 欧美日韩18| 中文字幕成人| 国产午夜精品一区二区三区欧美 | 国产美女久久| 亚洲精品高潮| 亚洲综合二区| 蜜臀精品一区二区三区在线观看| 桃色一区二区| 欧美丝袜一区| 天堂av在线一区| 日韩欧美另类中文字幕| 日本精品一区二区三区在线观看视频| 国产欧美日韩一区二区三区四区| 樱桃成人精品视频在线播放| 青青草国产精品亚洲专区无| 国产夫妻在线| 国产suv精品一区二区四区视频| 欧美一区二区三区久久精品| 性欧美69xoxoxoxo| 麻豆免费精品视频| 男女男精品网站| 日韩精品dvd| 美女尤物国产一区| 久久国产尿小便嘘嘘| 亚洲欧美视频| 日韩av不卡在线观看| 老司机免费视频一区二区| 久久一区二区中文字幕| 亚洲午夜免费| 国产欧美综合一区二区三区| 国产中文一区| 群体交乱之放荡娇妻一区二区| 婷婷精品进入| 久久国产精品美女| 综合激情五月婷婷| 五月天久久久| 国产美女精品视频免费播放软件| 国产自产自拍视频在线观看| 日韩国产高清在线| 在线国产一区二区| 精品国内亚洲2022精品成人| 91久久中文| 久久尤物视频| 欧美一级二级视频| 久久久国产精品一区二区中文| 亚洲精品电影| 成人免费网站www网站高清| 国产日本精品| 日韩精品福利一区二区三区| 999在线观看精品免费不卡网站| 国产精品久久久久久久免费观看 | 91欧美日韩在线| 午夜久久久久| 亚洲电影在线一区二区三区| 国产日韩一区| 欧美日韩 国产精品| 色综合视频一区二区三区日韩 | 日韩成人三级| 国产欧美日韩在线一区二区 | 欧美日本精品| 免费精品视频| 精品国产一区二| 国产免费av一区二区三区| 极品日韩av| 蜜桃av.网站在线观看| 国产夫妻在线| 国产一区二区久久久久| 久久精品色播| 欧美成人精品| 蜜桃国内精品久久久久软件9| 精品欧美日韩精品| 欧美精品一区二区三区精品| 日本午夜精品一区二区三区电影 | 欧美国产小视频| 蜜臀av亚洲一区中文字幕| 精品中国亚洲| 日韩精品一二三区| 国内精品美女在线观看| 野花国产精品入口| 国产精品成久久久久| 91精品二区| 国产精品高清一区二区| 狠狠久久婷婷| 日韩欧美自拍| 在线看片不卡| 日韩欧美高清一区二区三区| 日本特黄久久久高潮| 国产精品一级在线观看| 国产乱码精品一区二区三区亚洲人| 国产精品啊啊啊| 夜鲁夜鲁夜鲁视频在线播放| 久久久久久久久99精品大| 亚洲电影在线一区二区三区| 日韩高清欧美激情| 精品三级在线| 久久精品亚洲欧美日韩精品中文字幕| 欧美91精品| 97精品资源在线观看| 成人在线丰满少妇av| 亚洲精品成人| 久久国产视频网| 久久久久久久久99精品大| 免费久久精品视频| 老鸭窝一区二区久久精品| 黄页网站一区| 麻豆一区二区在线| 免费在线观看不卡| 日韩电影在线视频| 免费视频一区二区| 久久久91麻豆精品国产一区| 日韩一区二区三区免费播放| 综合一区av| 在线观看一区| 婷婷精品在线| 欧美天堂一区| 国产欧美日韩影院| 日本不卡在线视频| 日韩一级不卡| 亚洲视频www| 亚洲精品一区二区妖精| 亚洲va在线| 日韩在线免费| 欧美一区久久久| 97人人精品| 伊人久久av| 免费在线观看一区| 国产精品毛片视频| 精品三级久久久| 91亚洲自偷观看高清| 国产成人精品999在线观看| 久久精品99久久久| 国产麻豆一区二区三区| 久久99久久人婷婷精品综合| 国产伊人久久| 欧美天堂视频| 最新亚洲激情| 综合一区av| 久久99精品久久久久久园产越南| 青青草91视频| 丰满少妇一区| 激情久久99| 亚洲人成在线网站| 99国产精品| 日本不卡一二三区黄网| 久久三级中文| 在线看片不卡| 久久国产精品免费一区二区三区 | 麻豆免费精品视频| 91成人在线精品视频| 亚洲理论在线| 奇米777国产一区国产二区| 国产伦精品一区二区三区千人斩| 亚洲黑丝一区二区| 日韩成人午夜精品| 国产情侣久久| 91视频精品| 亚洲一区二区三区久久久| 国产日本久久| 久久精品欧美一区| 日本精品国产| 欧美精选一区二区三区| 亚洲免费成人av在线| 国精品产品一区| 一本一本久久| 日本一区二区免费高清| 欧美日韩精品一本二本三本| 91大神在线观看线路一区| 鲁大师成人一区二区三区| 精品一区不卡| 日韩制服丝袜av| 精品一区二区三区亚洲| 久久精品成人| 国产精品igao视频网网址不卡日韩| 99成人超碰| 久久av免费| 久久福利一区| 美女av在线免费看| 久久亚洲国产精品一区二区| 精品成av人一区二区三区| 亚洲色图网站| 欧洲精品一区二区三区| 欧美精品观看|