《2018年6月3日》【连续235天】
标题:yield关键字,Scrapy爬虫第一个实例;
内容:
生成器是一个不断产生值的函数
包含yield语句的函数是一个生成器
生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值。
生成器 写法:
>>> def gen(n):
for i in range(n):
yield i**2
>>> for i in gen(5):
print(i," ",end=" ")
0 1 4 9 16
>>>
Scrapy的第一个实例:
建立工程;
将demo中的代码改为;
import scrapy
class DemoSpider(scrapy.Spider):
name = "demo"
#allowed_domains = ["python123.io"]
start_urls = ['http://python123.io/ws/demo.html']
def parse(self, response):
fname = response.url.split('/')[-1]
with open(fname, 'wb') as f:
f.write(response.body)
self.log('Saved file %s.' % name)
用scrapy crawl demo运行爬虫;