如何导出变量形式 __init__ 并在其他函数中使用

我有一个程序,它采用 Flipkart 产品链接并使用不同的方法输出其结果。这是我的代码:


def __init__(self, link):

        res = requests.get(link)

        soup = BeautifulSoup(res.text, 'lxml')

我们只是想提取这个 soup 变量,以便其他函数可以访问该变量,这样每次我们请求价格、标题等任何方法时,我们就不需要一次又一次地请求页面并减慢程序速度。


对于提供的答案,它产生了空白,但实际上它应该返回 $....


def __init__(self, link):

        res = requests.get(link)

        soup = BeautifulSoup(res.text, 'lxml')

        self.soup = soup

def prices(self):

        prices = self.soup.find_all(text=re.compile('₹'))

        print(prices[0])


泛舟湖上清波郎朗
浏览 102回答 1
1回答

慕哥9229398

将其保存为属性,然后可以在其他方法中使用它def __init__(self, link):        res = requests.get(link)        soup = BeautifulSoup(res.text, 'lxml')        self.soup = soupdef foo(self, arg1):     return self.soup.blah(arg1)端到端用例是import requestsfrom bs4 import BeautifulSoupimport reclass Foo:        def __init__(self, link):        res = requests.get(link)        soup = BeautifulSoup(res.text, 'html')        self.soup = soup    def prices(self):        prices = self.soup.find_all(text=re.compile('td'))        print(prices[0])huh = Foo('https://www.basketball-reference.com/players/c/chealjo01.html')huh.prices()注意:我改变了一些东西(解析器从 lxml -> html,字符 -> td)以获得一个功能示例,因为我无法访问与 OP 相同的数据。
打开App,查看更多内容
随时随地看视频慕课网APP