下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第PythonPycurl的屬性與方法案例詳解Pycurl包是一個(gè)libcurl的Python接口,由C語(yǔ)言編寫(xiě)的,功能強(qiáng)大,速度快。由于pycurl的屬性和方法太多了,寫(xiě)這篇博文記錄一下pycurl的屬性和方法。
pipinstallpycurl
如果出現(xiàn)問(wèn)題,可以按照系統(tǒng)版本搜索安裝方法,比如centos7.1安裝pycurl
通用請(qǐng)求方法
importpycurl,urllib
fromioimportBytesIO
url=''
headers=[
"User-Agent:Mozilla/5.0(iPhone;CPUiPhoneOS5_0likeMacOSX)AppleWebKit/534.46(KHTML,likeGecko)Version/5.1Mobile/9A334Safari/7534.48.3",
data={
"cityListName":"",
"trade":""
c=pycurl.Curl()#通過(guò)curl方法構(gòu)造一個(gè)對(duì)象
#c.setopt(pycurl.REFERER,'/')#設(shè)置referer
c.setopt(pycurl.FOLLOWLOCATION,True)#自動(dòng)進(jìn)行跳轉(zhuǎn)抓取
c.setopt(pycurl.MAXREDIRS,5)#設(shè)置最多跳轉(zhuǎn)多少次
c.setopt(pycurl.CONNECTTIMEOUT,60)#設(shè)置鏈接超時(shí)
c.setopt(pycurl.TIMEOUT,120)#下載超時(shí)
c.setopt(pycurl.ENCODING,'gzip,deflate')#處理gzip內(nèi)容
#c.setopt(c.PROXY,ip)#代理
c.fp=BytesIO()
c.setopt(pycurl.URL,url)#設(shè)置要訪問(wèn)的URL
c.setopt(pycurl.HTTPHEADER,headers)#傳入請(qǐng)求頭
c.setopt(pycurl.POST,1)
c.setopt(pycurl.POSTFIELDS,urllib.urlencode(data))#傳入POST數(shù)據(jù)
c.setopt(c.WRITEFUNCTION,c.fp.write)#回調(diào)寫(xiě)入字符串緩存
c.perform()
code=c.getinfo(c.HTTP_CODE)#返回狀態(tài)碼
html=c.fp.getvalue()#返回源代碼
printc.getinfo(c.TOTAL_TIME)
GET請(qǐng)求方法
c=pycurl.Curl()#通過(guò)curl方法構(gòu)造一個(gè)對(duì)象
c.setopt(pycurl.FOLLOWLOCATION,True)#自動(dòng)進(jìn)行跳轉(zhuǎn)抓取
c.setopt(pycurl.MAXREDIRS,5)#設(shè)置最多跳轉(zhuǎn)多少次
c.setopt(pycurl.CONNECTTIMEOUT,60)#設(shè)置鏈接超時(shí)
c.setopt(pycurl.TIMEOUT,120)#下載超時(shí)
c.setopt(pycurl.ENCODING,'gzip,deflate')#處理gzip內(nèi)容
#c.setopt(c.PROXY,ip)#代理
c.fp=BytesIO()
c.setopt(pycurl.URL,url)#設(shè)置要訪問(wèn)的URL
c.setopt(pycurl.USERAGENT,ua)#傳入ua
#c.setopt(pycurl.HTTPHEADER,self.headers)#傳入請(qǐng)求頭
c.setopt(c.WRITEFUNCTION,c.fp.write)#回調(diào)寫(xiě)入字符串緩存
c.perform()
code=c.getinfo(c.HTTP_CODE)#返回狀態(tài)碼
html=c.fp.getvalue()#返回源代碼
POST請(qǐng)求方法
c=pycurl.Curl()#通過(guò)curl方法構(gòu)造一個(gè)對(duì)象
c.setopt(pycurl.FOLLOWLOCATION,True)#自動(dòng)進(jìn)行跳轉(zhuǎn)抓取
c.setopt(pycurl.MAXREDIRS,5)#設(shè)置最多跳轉(zhuǎn)多少次
c.setopt(pycurl.CONNECTTIMEOUT,60)#設(shè)置鏈接超時(shí)
c.setopt(pycurl.TIMEOUT,120)#下載超時(shí)
c.setopt(pycurl.ENCODING,'gzip,deflate')#處理gzip內(nèi)容
#c.setopt(c.PROXY,ip)#代理
c.fp=BytesIO()
c.setopt(pycurl.URL,url)#設(shè)置要訪問(wèn)的URL
c.setopt(pycurl.USERAGENT,ua)#傳入U(xiǎn)ser-Agent
#c.setopt(pycurl.HTTPHEADER,headers)#傳入請(qǐng)求頭
c.setopt(pycurl.POST,1)
c.setopt(pycurl.POSTFIELDS,urllib.parse.urlencode(data))
c.setopt(c.WRITEFUNCTION,c.fp.write)#回調(diào)寫(xiě)入字符串緩存
c.perform()
code=c.getinfo(c.HTTP_CODE)#返回狀態(tài)碼
html=c.fp.getvalue()#返回源代碼
windows訪問(wèn)https
windows訪問(wèn)https的方法,需要證書(shū)
importcertifi
c.setopt(pycurl.CAINFO,certifi.where())
獲取網(wǎng)頁(yè)多重跳轉(zhuǎn)之后的地址
c.getinfo(pycurl.EFFECTIVE_URL)獲取網(wǎng)頁(yè)的最終地址
記錄Cookie
c.setopt(pycurl.COOKIEFILE,"cookie_file_etherscan")#讀取cookie
c.setopt(pycurl.COOKIEJAR,"cookie_file_etherscan")#設(shè)置cookie
pycurl的部分API:
pycurl.Curl()#創(chuàng)建一個(gè)pycurl對(duì)象的方法
pycurl.Curl(pycurl.URL,.hk)#設(shè)置要訪問(wèn)的URL
pycurl.Curl().setopt(pycurl.MAXREDIRS,5)#設(shè)置最大重定向次數(shù)
pycurl.Curl().setopt(pycurl.CONNECTTIMEOUT,60)
pycurl.Curl().setopt(pycurl.TIMEOUT,300)#連接超時(shí)設(shè)置
pycurl.Curl().setopt(pycurl.USERAGENT,"Mozilla/4.0(compatible;MSIE6.0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職老年服務(wù)與管理(養(yǎng)老服務(wù))試題及答案
- 2025年高職水產(chǎn)養(yǎng)殖學(xué)(水產(chǎn)動(dòng)物養(yǎng)殖)試題及答案
- 2025年高職(新能源汽車檢測(cè)與維修)維修技術(shù)試題及答案
- 2025年高職助產(chǎn)學(xué)(產(chǎn)科護(hù)理技術(shù))試題及答案
- 禁毒安全教育內(nèi)容課件
- 口腔醫(yī)學(xué)考研就業(yè)前景
- 2026年幼兒春節(jié)故事歡歡喜喜過(guò)大年
- 光伏技術(shù)交底全套
- 光伏培訓(xùn)教學(xué)課件
- 2024黑龍江省各級(jí)機(jī)關(guān)考試錄用公務(wù)員備考題庫(kù)及參考答案詳解
- TOC基本課程講義學(xué)員版-王仕斌
- T-GDWCA 0035-2018 HDMI 連接線標(biāo)準(zhǔn)規(guī)范
- 面板堆石壩面板滑模結(jié)構(gòu)設(shè)計(jì)
- 初中語(yǔ)文新課程標(biāo)準(zhǔn)與解讀課件
- 無(wú)人機(jī)裝調(diào)檢修工培訓(xùn)計(jì)劃及大綱
- 中建通風(fēng)與空調(diào)施工方案
- 高考語(yǔ)言運(yùn)用題型之長(zhǎng)短句變換 學(xué)案(含答案)
- 春よ、來(lái)い(春天來(lái)了)高木綾子演奏長(zhǎng)笛曲譜鋼琴伴奏
- ARJ21機(jī)型理論知識(shí)考試題庫(kù)(匯總版)
- 2023年婁底市建設(shè)系統(tǒng)事業(yè)單位招聘考試筆試模擬試題及答案解析
- GB/T 4623-2014環(huán)形混凝土電桿
評(píng)論
0/150
提交評(píng)論