一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

requests.get()參數(shù)

 網(wǎng)海拾貝網(wǎng)絡(luò)豬 2020-03-16

查詢參數(shù)-params

1.參數(shù)類型

  字典,字典中鍵值對(duì)作為查詢參數(shù)

2.使用方法

1、res = requests.get(url,params=params,headers=headers)
2、特點(diǎn): 
   * url為基準(zhǔn)的url地址,不包含查詢參數(shù)
   * 該方法會(huì)自動(dòng)對(duì)params字典編碼,然后和url拼接

3.示例

復(fù)制代碼
import requests

baseurl = 'http://tieba.baidu.com/f?'
params = {
  'kw' : '趙麗穎吧',
  'pn' : '50'
}
headers = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)'}
# 自動(dòng)對(duì)params進(jìn)行編碼,然后自動(dòng)和url進(jìn)行拼接,去發(fā)請(qǐng)求
res = requests.get(baseurl,params=params,headers=headers)
res.encoding = 'utf-8'
print(res.text)
復(fù)制代碼

web客戶端驗(yàn)證 參數(shù)-auth

1.作用類型

1、針對(duì)于需要web客戶端用戶名密碼認(rèn)證的網(wǎng)站
2、auth = ('username','password')

2.通過(guò)用戶名賬號(hào)密碼獲取筆記名稱案例

復(fù)制代碼
import requests
from lxml import etree
import os

class NoteSpider(object):
    def __init__(self):
        self.url = 'http:///Code/aid1904/redis/'
        self.headers = {'User-Agent':'Mozilla/5.0'}
        self.auth = ('code','code_2013')

    # 獲取
    def get_html(self):
        html = requests.get(url=self.url,auth=self.auth,headers=self.headers).text
        return html

    # 解析提取數(shù)據(jù) + 把筆記壓縮包下載完成
    def parse_page(self):
        html = self.get_html()
        xpath_bds = '//a/@href'
        parse_html = etree.HTML(html)
        # r_list : ['../','day01','day02','redis_day01.zip']
        r_list = parse_html.xpath(xpath_bds)
        for r in r_list:
            if r.endswith('zip') or r.endswith('rar'):
                print(r)

if __name__ == '__main__':
    spider = NoteSpider()
    spider.parse_page()
復(fù)制代碼

思考:爬取具體的筆記文件?

復(fù)制代碼
import requests
from lxml import etree
import os

class NoteSpider(object):
    def __init__(self):
        self.url = 'http:///Code/redis/'
        self.headers = {'User-Agent':'Mozilla/5.0'}
        self.auth = ('code','code_2013')

    # 獲取
    def get_html(self):
        html = requests.get(url=self.url,auth=self.auth,headers=self.headers).text
        return html

    # 解析提取數(shù)據(jù) + 把筆記壓縮包下載完成
    def parse_page(self):
        html = self.get_html()
        xpath_bds = '//a/@href'
        parse_html = etree.HTML(html)
        # r_list : ['../','day01','day02','redis_day01.zip']
        r_list = parse_html.xpath(xpath_bds)
        for r in r_list:
            if r.endswith('zip') or r.endswith('rar'):
                file_url = self.url + r
                self.save_files(file_url,r)

    def save_files(self,file_url,r):
        html_content = requests.get(file_url,headers=self.headers,auth=self.auth).content
        # 判斷保存路徑是否存在
        directory = '/home/redis/'
        filename = directory + r
     #適用頻率很高
     #if not os.path.exists('路徑'):
     #  os.makedirs('路徑') 可遞歸創(chuàng)建
     #  os.mkdir('路徑')不能遞歸創(chuàng)建 if not os.path.exists(directory): os.makedirs(directory)
     with open(filename,'wb') as f: f.write(html_content) print(r,'下載成功') if __name__ == '__main__': spider = NoteSpider() spider.parse_page()
復(fù)制代碼

SSL證書認(rèn)證參數(shù)-verify

1.適用網(wǎng)站及場(chǎng)景

1、適用網(wǎng)站: https類型網(wǎng)站但是沒(méi)有經(jīng)過(guò) 證書認(rèn)證機(jī)構(gòu) 認(rèn)證的網(wǎng)站
2、適用場(chǎng)景: 拋出 SSLError 異常則考慮使用此參數(shù)

2.參數(shù)類型

復(fù)制代碼
1、verify=True(默認(rèn))   : 檢查證書認(rèn)證
2、verify=False(常用): 忽略證書認(rèn)證
# 示例
response = requests.get(
    url=url,
    params=params,
    headers=headers,
    verify=False
)
復(fù)制代碼

代理參數(shù)-proxies 

1.定義

1、定義: 代替你原來(lái)的IP地址去對(duì)接網(wǎng)絡(luò)的IP地址。
2、作用: 隱藏自身真實(shí)IP,避免被封。

2.普通代理

  獲取代理IP網(wǎng)站

西刺代理、快代理、全網(wǎng)代理、代理精靈、... ... 

  參數(shù)類型

復(fù)制代碼
1、語(yǔ)法結(jié)構(gòu)
       proxies = {
           '協(xié)議':'協(xié)議://IP:端口號(hào)'
       }
2、示例
    proxies = {
        'http':'http://IP:端口號(hào)',
        'https':'https://IP:端口號(hào)'
    }
復(fù)制代碼

  示例代碼

    (1)使用免費(fèi)普通代理IP訪問(wèn)測(cè)試網(wǎng)站: http:///get

復(fù)制代碼
import requests

url = 'http:///get'
headers = {
    'User-Agent':'Mozilla/5.0'
}
# 定義代理,在代理IP網(wǎng)站中查找免費(fèi)代理IP
proxies = {
    'http':'http://112.85.164.220:9999',
    'https':'https://112.85.164.220:9999'
}
html = requests.get(url,proxies=proxies,headers=headers,timeout=5).text
print(html)
復(fù)制代碼

    考: 建立一個(gè)自己的代理IP池,隨時(shí)更新用來(lái)抓取網(wǎng)站數(shù)據(jù)

1.從代理IP網(wǎng)站上,抓取免費(fèi)的代理IP
2.測(cè)試抓取的IP,可用的保存在文件中

    (2)一個(gè)獲取收費(fèi)開(kāi)放代理的接口

實(shí)現(xiàn)代碼

    (3)使用隨機(jī)收費(fèi)開(kāi)放代理IP寫爬蟲

實(shí)現(xiàn)代碼

3.私密代理

  語(yǔ)法格式

復(fù)制代碼
1、語(yǔ)法結(jié)構(gòu)
proxies = {
    '協(xié)議':'協(xié)議://用戶名:密碼@IP:端口號(hào)'
}

2、示例
proxies = {
    'http':'http://用戶名:密碼@IP:端口號(hào)',
    'https':'https://用戶名:密碼@IP:端口號(hào)'
}
復(fù)制代碼

  示例代碼

復(fù)制代碼
import requests
url = 'http:///get'
proxies = {
    'http': 'http://309435365:szayclhp@106.75.71.140:16816',
    'https':'https://309435365:szayclhp@106.75.71.140:16816',
}
headers = {
    'User-Agent' : 'Mozilla/5.0',
}

html = requests.get(url,proxies=proxies,headers=headers,timeout=5).text
print(html)
復(fù)制代碼

urllib和urllib2關(guān)系

復(fù)制代碼
#python2
urllib :URL地址編碼
urllib2:請(qǐng)求
#python3 - 把python2中urllib和urllib2合并
urllib.parse:編碼
urllib.requests: 請(qǐng)求
復(fù)制代碼

控制臺(tái)抓包

打開(kāi)方式幾常用選項(xiàng)

復(fù)制代碼
1、打開(kāi)瀏覽器,F(xiàn)12打開(kāi)控制臺(tái),找到Network選項(xiàng)卡
2、控制臺(tái)常用選項(xiàng)
   1、Network: 抓取網(wǎng)絡(luò)數(shù)據(jù)包
        1、ALL: 抓取所有的網(wǎng)絡(luò)數(shù)據(jù)包
        2、XHR:抓取異步加載的網(wǎng)絡(luò)數(shù)據(jù)包
        3、JS : 抓取所有的JS文件
   2、Sources: 格式化輸出并打斷點(diǎn)調(diào)試JavaScript代碼,助于分析爬蟲中一些參數(shù)
   3、Console: 交互模式,可對(duì)JavaScript中的代碼進(jìn)行測(cè)試
3、抓取具體網(wǎng)絡(luò)數(shù)據(jù)包后
   1、單擊左側(cè)網(wǎng)絡(luò)數(shù)據(jù)包地址,進(jìn)入數(shù)據(jù)包詳情,查看右側(cè)
   2、右側(cè):
       1、Headers: 整個(gè)請(qǐng)求信息
            General、Response Headers、Request Headers、Query String、Form Data
       2、Preview: 對(duì)響應(yīng)內(nèi)容進(jìn)行預(yù)覽
       3、Response:響應(yīng)內(nèi)容
復(fù)制代碼

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日韩欧美一区二区不卡看片| 色偷偷亚洲女人天堂观看| 成年午夜在线免费视频| 婷婷开心五月亚洲综合| 亚洲一级二级三级精品| 日本午夜一本久久久综合| 日韩一级毛一欧美一级乱| 在线观看国产成人av天堂野外| 国产一区二区在线免费| 国产精品一区二区三区日韩av| 91精品国产综合久久精品| 日韩精品一区二区不卡| 日本免费一本一二区三区| 扒开腿狂躁女人爽出白浆av| 国产精品国产亚洲区久久| 色狠狠一区二区三区香蕉蜜桃| 国产91人妻精品一区二区三区| 亚洲av熟女一区二区三区蜜桃| 国产又大又硬又粗又黄| 国产亚洲精品久久久优势| 成年人免费看国产视频| 一区二区不卡免费观看免费| 亚洲天堂有码中文字幕视频| 国产精品欧美激情在线播放| 欧美成人免费一级特黄| 美国女大兵激情豪放视频播放 | 精品人妻一区二区四区| 亚洲国产中文字幕在线观看| 日韩一区二区三区有码| 精品精品国产欧美在线| 欧美加勒比一区二区三区| 99久久精品视频一区二区| 欧美又大又黄刺激视频| 久久热中文字幕在线视频| 欧美久久一区二区精品| 久久久精品日韩欧美丰满| 久久国产亚洲精品成人| 国产视频一区二区三区四区| 国产精品欧美一区二区三区不卡 | 欧美丰满人妻少妇精品| 日韩中文无线码在线视频 |