pipspider
def open_spider() #爬虫开始执行一次
def close_spider() #完成时执行一次
scrapy命令
scrapy startproject myproject #创建一个新的项目
scrapy genspider <name> <all_domain>
scrapy genspider -t crawl <name> <all_domain> #创建一个crawl类型
scrapy bench #测试电脑的爬取速度性能
middleware中间件
class RandomUserAgent(object):
def process_request(selft,request,spider):
useragent = random.choice(USER_AGENTS)
request.headers['User-Agent']=useragent
class ProxyMiddleWare(object):
def process_request(self,request,spider):
request.meta['proxy']=''
item
Item提供了类字典的API,并且可以很方便的声明字段,很多Scrapy组件可以利用Item的其他信息。