代码:
def __init__(self,url):
self.url = url
self.log = mylog()
self.pageSum = 5
self.urls = self.getUrls(self.pageSum)
self.items = self.spider(self.urls)
self.pipelines(self.items)
构造函数是引用了 self.getUrls
、self.spider
、self.pipelines
三个方法?
还是引用了三个方法中的 self.pageSum
、self.urls
、self.items
三个参数,还是其他?请教!
一直对类不清晰。
具体代码见下:
import requests
from bs4 import BeautifulSoup
from mylog import MyLog as mylog
import xlwt
class Item(object):
title = None #帖子标题
firstAuthor = None #帖子创建者
firstTime = None #帖子创建时间
reNum = None #总回复数
content = None #最后回复内容
lastAuthor = None #最后回复者
lastTime = None #最后回复时间
class GetTiebaInfo(object):
def __init__(self,url):
self.url = url
self.log = mylog()
self.pageSum = 5
self.urls = self.getUrls(self.pageSum)
self.items = self.spider(self.urls)
self.pipelines(self.items)
def getUrls(self,pageSum):
urls = []
# 省略...
return urls
def spider(self, urls):
items = []
# 省略...
return items
def pipelines(self, items):
# 省略...
if __name__ == '__main__':
url = 'http://tieba.baidu.com/f?kw=%E6%9D%83%E5%88%A9%E7%9A%84%E6%B8%B8%E6%88%8F&ie=utf-8&pn=50'
GTI = GetTiebaInfo(url)
__init__()
应该叫做 初始化函数,是类创建新实例后默认调用的函数,跟普通函数的执行没什么区别.__init__(self, url)
分别对 5 个实例属性进行了赋值, 其中调用了三个实例方法, 这些实例方法又各自引用了实例属性作为参数