0
我想在應用程序的Apple商店網站上拼寫應用程序的名稱,並在終端上打印出來。python:錯誤:[<__ main __。類實例在0x>]
這裏是我的代碼:
from lxml import html
import requests
class AppCrawler:
def __init__(self,starting_url,depth):
self.starting_url = starting_url
self.depth = depth
self.apps = []
def crawl(self):
self.get_app_from_link(self.starting_url)
def get_app_from_link(self,link):
start_page = requests.get(link)
tree = html.fromstring(start_page.text)
name = tree.xpath('//h1[@itemprop="name"]/text()')[0]
app = App(name)
self.apps.append(app)
class App:
def __init__(self,name):
self.name=name
def __str__(self):
return ("Name:" + self.name)
crawler = AppCrawler('https://itunes.apple.com/us/app/candy-crush-saga/id553834731',0)
crawler.crawl()
################ print the list ##################################
print crawler.apps
################ print the element in the list ###################
for app in crawler.apps:
print app
以下是我在終點站下車:
[<__main__.App instance at 0x029C3EE0>]
AppName:Candy Crush Saga
我的問題是:
爲什麼這個列表打印是[< 主 .App實例在0x029C3EE0>] 並使用「for「循環打印列表中的元素是完全正確的?
在列表內的'__repr__'方法被調用,而不是'__str__'。 –