我正在使用bs4并遍历我需要的单个页面上的所有链接。然后我将这些链接存储在列表中。
这是我的代码:
Sub Show_Comment()
On Error Resume Next
For Each ws In ActiveWorkbook.Sheets
Set allCommentRng = ws.Cells.SpecialCells(xlCellTypeComments)
For Each Rng In allCommentRng
Rng.Comment.Visible = True
Next
Next
On Error GoTo 0
End Sub
我想在使用return时我可以使用不同方法的url?我希望能够使用我附加到网址列表的每个链接,在使用我不理解的类时,这是更好的方法吗?
答案 0 :(得分:0)
由于这些是实例方法,因此您应该使用self
来调用它们:
def use(self):
urls = self.scrape1()
并且,您不必从scrape1()
方法返回并且可以设置实例属性,例如:
class MyScraper():
# ...
def scrape1(self):
html = self.browser.page_source
soup = BeautifulSoup(html, 'html.parser')
self.urls = [a['href'] for a in soup.select('a.watch-now')]
def use(self):
self.scrape1()
# use self.urls
print(self.urls)
并且,您也可以使用urls
这种方式:
scraper = MyScraper()
scraper.scrape1()
print(scraper.urls)
答案 1 :(得分:0)
你可以让方法将urls返回到类的属性中。
self.urls = urls
然后你可以从其他方法中引用它。
任何有自我的东西。是您可以在整个班级中引用的属性。因此,您可以编写另一种方法(无需将其作为函数的参数提供),可以在函数中使用self.urls。