第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請求多個網(wǎng)站的Python類

請求多個網(wǎng)站的Python類

MMMHUHU 2022-11-24 15:07:08
我有一個請求函數(shù)request_url,它從不同的網(wǎng)站請求數(shù)據(jù)。我將此功能應(yīng)用于多個不同的功能some_function_a。def some_function_a():     url = www.facebook.com     facebook = request_url(url)     facebook.apply(...)  # start to do some data wrangling     ...def some_function_b():     url = www.instagram.com     instagram = request_url(url)     instagram.apply(...)     ...def some_function_c():     url = www.linkedin.com     linkedin = request_url(url)     linkedin.apply(...)     ...我想把所有東西都打包成一個班級。不幸的是,我對 python 中的類不是很有經(jīng)驗。一個類看起來如何,以便我可以執(zhí)行以下操作:def some_function_a():    facebook = request_class.facebook    facebook.apply(...)    ...def some_function_b():    instagram = request_class.instagram    instagram.apply(...)def some_function_c():    linkedin = request_class.linkedin    linkedin.apply(...)    ...最優(yōu)雅的方法是什么?類 request_class 是什么樣子的?
查看完整描述

2 回答

?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

你可以這樣做(你還需要正確使用請求和 url 作為字符串):


class Request_class(object):

    '''

    Class with all the requests

    '''

    def __init__(self, linkedin_url):

        '''

        Constructor

        '''

        #You can pass variables to create some class properties

        #for example, if linkedin url is always the same

        self.linkedin = linkedin_url


    def facebook(self, url):

        facebook = request_url(url)

        facebook.apply(...)

        ...


    def instagram(self, url):

        instagram = request_url(url)

        instagram.apply(...)

        ...


    def linkedin(self):

        #you don't need to pass the linkedin url; it's already a class property

        linkedin = request_url(self.url)

        linkedin.apply(...)

        ...



#Then you can create an instance of the class:

my_requests = Request_class('www.linkedin.com')

#And you can call its methods:

my_requests.facebook('www.facebook.com')

my_requests.instagram('www.instagram.com')

#For this last the class already knows the url

my_requests.linkedin()


查看完整回答
反對 回復 2022-11-24
?
撒科打諢

TA貢獻1934條經(jīng)驗 獲得超2個贊

首先創(chuàng)建 RequestClass 并給它一個 url 的屬性。然后您可以為每個站點使用不同的 url 創(chuàng)建對象。some_function() 可以是類方法:


class RequestClass:

    def __init__(self, url):

    self.url = url


def make_request(self):

    request(self.url)


def some_function(self):

    apply(...)

要創(chuàng)建一個對象:


fb = RequestClass("www.facebook.com")


ig = RequestClass("www.instagram.com")


li = RequestClass("www.linkedin.com")


fb.make_request()

ig.make_request()

li.make_request()

如果你想訪問請求中的數(shù)據(jù),你可以在你的請求方法中將它保存為 self.data 假設(shè)你向站點發(fā)出請求的方式返回數(shù)據(jù):


class RequestClass:

    def __init__(self, url):

    self.url = url

    self.data


    def make_request(self):

        self.data = request(self.url)

要訪問數(shù)據(jù),例如,來自 Facebook 的請求:


fb.data #returns the data from the request to facebook


process_data(fb.data) #easily use that data in a diff function

如果您在類中創(chuàng)建其他方法或?qū)傩?,則可以輕松地為每個站點訪問它們,例如,如果您想要打印請求中的數(shù)據(jù):


fb.print_request_data()

ig.print_request_data()

li.print_request_data()


查看完整回答
反對 回復 2022-11-24
  • 2 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號